没有chromedriver本地安装,硒网格无法工作

时间:2018-08-24 14:20:31

标签: python selenium selenium-webdriver selenium-chromedriver

我运行了以下命令来启动并运行硒网格/集线器:

中心:java -jar selenium-server-standalone-3.14.0.jar -role hub

节点:java -jar selenium-server-standalone-3.14.0.jar -role node -hub http://localhost:4444/grid/register

当我检查集线器控制台时,我发现我的Web驱动程序已注册,并且可以使用...

我通过以下方式连接到集线器:

 driver = webdriver.Remote(
                command_executor='http://localhost:4444/wd/hub',
                desired_capabilities=DesiredCapabilities.CHROME)

它可以正常连接...但是,如果我没有在$ PATH中下载并安装chromedriver(例如如果我不带网格,则不这样做),应用程序将失败。

这正常吗?我对selenium-grid和所有远程逻辑的印象是确保不需要在“客户端”计算机上安装各个驱动程序。

2 个答案:

答案 0 :(得分:1)

是必须在客户端计算机上安装浏览器及其兼容驱动程序 下图将清楚其工作原理 enter image description here

答案 1 :(得分:1)

硒不能控制浏览器,驱动程序可以控制。具有中心角色的硒是具有节点角色的硒的服务器和平衡器,节点与驱动程序对话。 您需要在将与集线器通信的每台客户端计算机上使用硒罐和驱动程序。

它如何与集线器一起工作:

           ⇄ node ⇄ driver ⇄ browser (same machine)
code ⇄ hub ⇄ node ⇄ driver ⇄ browser (another machine)
           ⇄ node ⇄ driver ⇄ browser (another machine)