1

我正在尝试设置一个 hello world 应用程序来学习 Selenium。我想编写一个打开 Brave 网络浏览器的脚本。

我在网上和堆栈溢出尝试了一些代码脚本,但似乎没有任何效果。

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();

上面的脚本不能识别brave,所以我把forBrowser("brave) 改成了"chrome",还是不行。

我在网上找到了下面的代码,它可以让我获得我想要启动的浏览器的确切目录,但我不知道如何将它与我已有的结合起来。

const chrome = require('selenium-webdriver/chrome');


chrome.setDefaultService(new chrome.ServiceBuilder('/usr/share/applications/google-chrome.desktop').build());

我在另一个线程上阅读了下面的代码,但我不确定如何使用它启动浏览器实例。

const chrome = require('selenium-webdriver/chrome')
const chromeOptions = new chrome.Options()

chromeOptions.setChromeBinaryPath('/usr/bin/brave-browser')

编辑

下面的代码是我最近尝试将网络上的方法拼凑在一起来完成这项工作。

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');

我收到一条错误消息,提示“错误:在当前 PATH 上找不到 ChromeDriver。”

我不确定如何进行

编辑 我有 Chrome 启动。这是我所做的:

我更新到最新的 Chrome 浏览器。我在这里下载了最新的 chrome 驱动程序,它反映了我的 Chrome 版本:

https://www.selenium.dev/documentation/webdriver/getting_started/install_drivers/

我在桌面上创建了一个随机目录,例如 blah/code 并将下载的文件放在那里。

然后我打开一个终端窗口并将该目录添加到我的计算机路径变量中,如下所示:

export PATH=$PATH:/some/new/path

我保持当前终端窗口打开并打开 node.js 脚本和 chrome。

我现在需要知道如何更改它,以便它打开 Brave

4

2 回答 2

1

随着 Brave 进入全 Chromium(从 0.57 版开始),要打开 Brave器,您需要设置setChromeBinaryPath以下brave可执行文件:

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');

参考

您可以在以下位置找到一些相关的详细讨论:

于 2021-12-24T22:30:25.277 回答
0

您需要使用 指定勇敢的可执行文件的路径setChromeBinaryPath。例如(在 Windows 上):

chromeOptions.setChromeBinaryPath('C:/Program Files/BraveSoftware/Brave-Browser/Application/brave.exe')

对我来说,我将文件复制chromedriver.exe到我的项目文件夹中。但是您也应该能够将它放在PATH环境变量中的任何位置。

于 2021-12-31T15:26:34.500 回答