I’m trying to access Google with Selenium, but when I enter my email to log in, Google detects that it is an automated software and won’t let me continue. Is there any way to solve this?In reality, I do not log in automatically but manually, introducing a pause of 120 seconds to give me time to log in manually. This is the relevant code:
<code>public static void main(String[] args) throws InterruptedException {
// Configura la ubicación del geckodriver
System.setProperty("webdriver.gecko.driver", "C:/geckodriver.exe");
// Inicializa el WebDriver para Firefox
FirefoxOptions options = new FirefoxOptions();
//options.setHeadless(false); // Desactiva el modo headless
//options.addArguments("--disable-blink-features=AutomationControlled");
WebDriver driver = new FirefoxDriver(options);
String ventanaPrincipalHandle = null;
List<String> urlsRecopiladas = new ArrayList<>();
try {
// Navega a la página de Google
driver.get("https://www.google.com");
// Guarda el identificador de la ventana principal
ventanaPrincipalHandle = driver.getWindowHandle();
// Espera unos segundos para permitir que se abra el popup
esperar(3);
// Imprime el número de ventanas abiertas
Set<String> handles = driver.getWindowHandles();
System.out.println("Número de ventanas abiertas: " + handles.size());
// Manejar el popup si se abre
if (handles.size() > 1) {
manejarPopup(driver, ventanaPrincipalHandle);
} else {
System.out.println("No se abrió ningún popup.");
}
// Regresar a la ventana principal
driver.switchTo().window(ventanaPrincipalHandle);
// Acepta automáticamente las cookies si el banner está presente
aceptarCookies(driver);
// Realiza una búsqueda para "moda infantil online" y espera unos segundos para que los resultados se carguen inicialmente
realizarBusqueda(driver, "moda infantil online");
Thread.sleep(5000);
// Realiza seis scrolls hacia abajo
realizarScrolls(driver, 6);
// Recopila URLs de todas las páginas de resultados
recopilarURLs(driver, urlsRecopiladas);
} catch (Exception e) {
e.printStackTrace();
} finally {
// Cierra el navegador al final
if (driver != null) {
driver.quit();
}
}
// Imprime todas las URLs recopiladas al final con sus posiciones
System.out.println("Todas las URLs recopiladas con sus posiciones:");
for (int i = 0; i < urlsRecopiladas.size(); i++) {
System.out.println("Posición " + (i + 1) + ": " + urlsRecopiladas.get(i));
}
}
</code>
<code>public static void main(String[] args) throws InterruptedException {
// Configura la ubicación del geckodriver
System.setProperty("webdriver.gecko.driver", "C:/geckodriver.exe");
// Inicializa el WebDriver para Firefox
FirefoxOptions options = new FirefoxOptions();
//options.setHeadless(false); // Desactiva el modo headless
//options.addArguments("--disable-blink-features=AutomationControlled");
WebDriver driver = new FirefoxDriver(options);
String ventanaPrincipalHandle = null;
List<String> urlsRecopiladas = new ArrayList<>();
try {
// Navega a la página de Google
driver.get("https://www.google.com");
// Guarda el identificador de la ventana principal
ventanaPrincipalHandle = driver.getWindowHandle();
// Espera unos segundos para permitir que se abra el popup
esperar(3);
// Imprime el número de ventanas abiertas
Set<String> handles = driver.getWindowHandles();
System.out.println("Número de ventanas abiertas: " + handles.size());
// Manejar el popup si se abre
if (handles.size() > 1) {
manejarPopup(driver, ventanaPrincipalHandle);
} else {
System.out.println("No se abrió ningún popup.");
}
// Regresar a la ventana principal
driver.switchTo().window(ventanaPrincipalHandle);
// Acepta automáticamente las cookies si el banner está presente
aceptarCookies(driver);
// Realiza una búsqueda para "moda infantil online" y espera unos segundos para que los resultados se carguen inicialmente
realizarBusqueda(driver, "moda infantil online");
Thread.sleep(5000);
// Realiza seis scrolls hacia abajo
realizarScrolls(driver, 6);
// Recopila URLs de todas las páginas de resultados
recopilarURLs(driver, urlsRecopiladas);
} catch (Exception e) {
e.printStackTrace();
} finally {
// Cierra el navegador al final
if (driver != null) {
driver.quit();
}
}
// Imprime todas las URLs recopiladas al final con sus posiciones
System.out.println("Todas las URLs recopiladas con sus posiciones:");
for (int i = 0; i < urlsRecopiladas.size(); i++) {
System.out.println("Posición " + (i + 1) + ": " + urlsRecopiladas.get(i));
}
}
</code>
public static void main(String[] args) throws InterruptedException {
// Configura la ubicación del geckodriver
System.setProperty("webdriver.gecko.driver", "C:/geckodriver.exe");
// Inicializa el WebDriver para Firefox
FirefoxOptions options = new FirefoxOptions();
//options.setHeadless(false); // Desactiva el modo headless
//options.addArguments("--disable-blink-features=AutomationControlled");
WebDriver driver = new FirefoxDriver(options);
String ventanaPrincipalHandle = null;
List<String> urlsRecopiladas = new ArrayList<>();
try {
// Navega a la página de Google
driver.get("https://www.google.com");
// Guarda el identificador de la ventana principal
ventanaPrincipalHandle = driver.getWindowHandle();
// Espera unos segundos para permitir que se abra el popup
esperar(3);
// Imprime el número de ventanas abiertas
Set<String> handles = driver.getWindowHandles();
System.out.println("Número de ventanas abiertas: " + handles.size());
// Manejar el popup si se abre
if (handles.size() > 1) {
manejarPopup(driver, ventanaPrincipalHandle);
} else {
System.out.println("No se abrió ningún popup.");
}
// Regresar a la ventana principal
driver.switchTo().window(ventanaPrincipalHandle);
// Acepta automáticamente las cookies si el banner está presente
aceptarCookies(driver);
// Realiza una búsqueda para "moda infantil online" y espera unos segundos para que los resultados se carguen inicialmente
realizarBusqueda(driver, "moda infantil online");
Thread.sleep(5000);
// Realiza seis scrolls hacia abajo
realizarScrolls(driver, 6);
// Recopila URLs de todas las páginas de resultados
recopilarURLs(driver, urlsRecopiladas);
} catch (Exception e) {
e.printStackTrace();
} finally {
// Cierra el navegador al final
if (driver != null) {
driver.quit();
}
}
// Imprime todas las URLs recopiladas al final con sus posiciones
System.out.println("Todas las URLs recopiladas con sus posiciones:");
for (int i = 0; i < urlsRecopiladas.size(); i++) {
System.out.println("Posición " + (i + 1) + ": " + urlsRecopiladas.get(i));
}
}
1