在 selenium 远程节点上运行 chrome 时出错
Posted
技术标签:
【中文标题】在 selenium 远程节点上运行 chrome 时出错【英文标题】:Error when running chrome on selenium remote node 【发布时间】:2015-01-05 21:39:00 【问题描述】:我的一台远程机器上有一个 selenium 集线器,而其他机器有 selenium 节点。
from selenium.webdriver import Remote
from selenium.webdriver import DesiredCapabilities
r = Remote('http://10.10.3.66:4444/wd/hub', DesiredCapabilities.CHROME)
r.get(somewebsite)
10.10.3.66
是具有集线器的机器,我有一个本地节点和一个远程节点。两者都连接到远程集线器,但是 chrome 不在远程节点上运行,而是在本地节点上运行.
当我(在远程节点上)运行上面的代码时出现以下异常:
selenium.common.exceptions.WebDriverException: Message: u"unknown 错误:Chrome 无法启动:崩溃\n(驱动程序信息: 铬驱动程序=2.12.301324 (de8ab311bc9374d0ade71f7c167bad61848c7c48),平台=Linux 2.6.32-042stab065.3 x86_64)(警告:服务器未提供任何堆栈跟踪信息)\n命令持续时间或超时:60.05 秒\n构建信息:版本:'2.43.0',修订:'597b76b',时间: '2014-09-09 20:52:14'\n系统信息:主机:'linux-node-firefox',ip: '10.10.3.67',os.name:'Linux',os.arch:'amd64',os.version: '2.6.32-042stab065.3', java.version: '1.6.0_33'\n驱动信息: org.openqa.selenium.chrome.ChromeDriver" ; 堆栈跟踪:
并且在节点的控制台上出现以下错误:
启动 ChromeDriver 2.12.301324 (de8ab311bc9374d0ade71f7c167bad61848c7c48) 端口 8719 仅本地 允许连接。 [0.011][警告]:PAC 支持已禁用 因为没有系统实现
顺便说一句,使用DesiredCapabilities.FIREFOX
运行相同的代码可以工作。
【问题讨论】:
【参考方案1】:很可能您的机器上没有 chrome 驱动程序。可以从这个链接下载:https://code.google.com/p/selenium/wiki/ChromeDriver
添加如下代码设置chrome驱动路径:
Java:
System.setProperty("webdriver.chrome.driver", "C:/.../chromedriver.exe");
Python:
chromedriver = "C:/.../chromedriver.exe"
os.environ["webdriver.chrome.driver"] = chromedriver
driver = webdriver.Chrome(chromedriver)
根据你机器上的位置安排路径。
希望这会有所帮助...
【讨论】:
【参考方案2】:-
您是否安装了 chrome 驱动程序并在节点上设置了 PATH?
【讨论】:
以上是关于在 selenium 远程节点上运行 chrome 时出错的主要内容,如果未能解决你的问题,请参考以下文章
如何在远程节点上使用selenium上传文件[Python] [关闭]
在 selenium chromedriver 上运行的远程调试 Internjs