Estoy tratando de configurar una aplicación hello world para aprender Selenium. Quiero escribir un script que abra el navegador web Brave.
Probé algunos scripts de código en línea y en Stack overflow y nada parece funcionar.
const { Builder } = require("selenium-webdriver") async function example() { let driver = await new Builder().forBrowser("brave").build(); console.log(driver) await driver.get("https://www.youtube.com/"); } example();El script anterior no reconoce a Brave, así que cambié forBrowser("brave) a "chrome". Todavía no funciona.
Encontré el siguiente código en línea que me permite obtener el directorio exacto del navegador que quiero iniciar, pero no sé cómo combinarlo con lo que ya tengo.
const chrome = require('selenium-webdriver/chrome'); chrome.setDefaultService(new chrome.ServiceBuilder('/usr/share/applications/google-chrome.desktop').build());Leí el código a continuación en otro hilo , pero no estoy seguro de cómo iniciar una instancia de navegador usándolo.
const chrome = require('selenium-webdriver/chrome') const chromeOptions = new chrome.Options() chromeOptions.setChromeBinaryPath('/usr/bin/brave-browser')EDITAR
El siguiente código es mi último intento de improvisar métodos de toda la web para que esto funcione.
const webdriver = require('selenium-webdriver'); const chrome = require('selenium-webdriver/chrome'); const chromeOptions = new chrome.Options() chromeOptions.setChromeBinaryPath('/home/wktdev/Desktop/selenium/drivers/chrome/chromedriver') let driver = new webdriver.Builder() .forBrowser('chrome') .setChromeOptions(chromeOptions) .build(); driver.get('http://example.com');Recibo un error que dice "Error: ChromeDriver no se pudo encontrar en la RUTA actual".
No estoy seguro de cómo proceder
EDITAR Tengo el lanzamiento de Chrome. Aquí esta lo que hice:
Actualicé a la última versión del navegador Chrome. Descargué el controlador de Chrome más nuevo que refleja mi versión de Chrome aquí:
https://www.selenium.dev/documentation/webdriver/getting_started/install_drivers/Creé un directorio aleatorio en el escritorio como blah/code y puse los archivos descargados allí.
Luego abrí una ventana de terminal y agregué ese directorio a la variable de ruta de mi computadora de esta manera:
export PATH=$PATH:/some/new/pathMantuve abierta la ventana de terminal actual y abrí el script node.js y Chrome.
Ahora necesito saber cómo cambiar esto para que abra Brave en su lugar.
Como Brave se convirtió en cromo completo (a partir de la versión 0.57), para abrir el navegador valiente , debe configurar setChromeBinaryPath hacia el ejecutable valiente de la siguiente manera:
const webdriver = require('selenium-webdriver'); const chromeOptions = new chrome.Options() chromeOptions.setChromeBinaryPath('/usr/bin/brave-browser') let driver = new webdriver.Builder() .forBrowser('brave') .setChromeOptions(chromeOptions) .build(); driver.get('http://example.com');Puede encontrar un par de discusiones detalladas relevantes en:
Debe especificar la ruta al valiente ejecutable con setChromeBinaryPath . Por ejemplo (en Windows):
chromeOptions.setChromeBinaryPath('C:/Program Files/BraveSoftware/Brave-Browser/Application/brave.exe') Para mí, copié el archivo chromedriver.exe en la carpeta de mi proyecto. Pero también debería poder colocarlo en cualquier lugar de su variable de entorno PATH .