【发布时间】:2019-05-05 22:55:45
【问题描述】:
我尝试在本地运行我的 chrome 扩展程序的测试。
我有 selenium-server (v.3.141.59)。
我有 chromedriver (v.2.44)
我有 chrome 浏览器 (v.70.0.3538.110)
和 selenium-webdriver npm 包 (v.^4.0.0-alpha.1)
我的 NodeJs 代码成功创建了新的 chrome 会话
this._driver = new Builder()
.forBrowser('chrome')
.usingServer('http://localhost:4444/wd/hub')
.setChromeOptions(new ChromeOptions()
.addExtensions(config.extensionPath)
//.addExtensions(buffer.toString('base64'))
//.addArguments(`--load-extension=c:\path\to\extension`)
.build();
但是
1) 当我将 selenium-server 作为独立服务器运行时,我的扩展程序成功安装并且没问题
java -jar selenium-server.jar -role standalone
2) 当我将 selenium-server 作为集线器运行,并将 selenium-server 的另一个实例作为节点运行时,新的 chrome 会话在没有安装扩展的情况下创建。
java -jar selenium-server.jar -role hub
java -Dwebdriver.chrome.driver=C:\path\to\chromedriver -jar selenium-server.jar -port 4445 -hub http://localhost:4444 -role node -browser browserName=chrome
加载扩展的任何注释变体都会给出相同的结果。
节点和独立运行类型之间有什么区别(在扩展加载的上下文中)? 还是我的错在哪里?
我会很高兴得到任何帮助!
【问题讨论】:
-
嘿,你找到解决办法了吗?面临同样的问题
-
很伤心,但我不...如果你能找到解决办法,请告诉我。
标签: node.js selenium google-chrome selenium-webdriver