我如何让 chrome 使用 php 网络驱动程序与硒一起工作


How do I get chrome working with selenium, using php webdriver?

Firefox 一切正常,但我无法启动 chrome。我在 linux 上,使用 php 网络驱动程序绑定。

require_once "/usr/local/src/selenium/php-webdriver-bindings-0.9.0/phpwebdriver/WebDriver.php";
putenv("PATH=".getenv("PATH").':'.'/usr/local/src/selenium/chrome_webdriver/'); //Prepare for chrome
$webdriver = new WebDriver("localhost", "4444");
//$webdriver->connect("chrome");
$webdriver->connect("chrome","",array(
    'webdriver.chrome.driver'=>'/usr/local/src/selenium/chrome_webdriver/chromedriver',
    ));

我收到的错误消息是"chromedriver 可执行文件的路径必须由 webdriver.chrome.driver 系统属性设置"。如您所见,我已经尝试在 desiredCapabilities 数组中设置它,但那一定是错误的地方。我可以在硒日志中看到我的设置正在通过,如以下日志行所示:

INFO - Executing: [new session: {javascriptEnabled=true, webdriver.chrome.driver=/usr/local/src/selenium/chrom..., browserName=chrome, nativeEvents=false, version=}] at URL: /session)

我从硒开始java -jar selenium-server-standalone-2.21.0.jar

我正在使用铬v.18。

我创建了一个快捷方式/usr/bin/

google-chrome,指向/usr/bin/chromium-browser

我可以毫无问题地手动启动chromedriver。它说:

port=9515
version=20.0.1133.0

运行或不运行对硒给我的错误消息没有任何影响。

更新:相关问题:Selenium 2 chrome 驱动程序(答案是针对 java,而不是 php)

您可以尝试在启动 selenium 服务器时从命令行传递 webdriver.chrome.driver 属性。喜欢这个:

 java -Dwebdriver.chrome.driver = pathtochromedriver -jar selenium-server.jar

我不确定另一个不起作用的原因。您需要检查它是否真的从代码中设置了系统属性。

没有任何空白,它在 WinXP32 上对我有用:

java -Dwebdriver.chrome.driver=C:'chromedriver.exe -jar selenium-server.jar