如何使用php webdriver让chrome使用selenium?

Dar*_*ook 7 php google-chrome webdriver selenium-webdriver

一切都适用于Firefox,但我无法启动chrome.我在linux上,使用php webdriver绑定.

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',
    ));
Run Code Online (Sandbox Code Playgroud)

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

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

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

我正在使用Chromium v​​.18.

我创建了一个指向/ usr/bin/chromium-browser的快捷方式/ usr/bin/google-chrome

我可以手动启动chromedriver,没有任何问题.它说:

port=9515
version=20.0.1133.0
Run Code Online (Sandbox Code Playgroud)

运行或不运行,对selenium给出的错误消息没有任何影响.

更新:相关问题:selenium 2 chrome驱动程序(回答有java,不是php)

A.J*_*A.J 14

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

 java -Dwebdriver.chrome.driver = pathtochromedriver -jar selenium-server.jar
Run Code Online (Sandbox Code Playgroud)

我不确定为什么另一个不工作的原因.您需要检查它是否真正从代码中设置系统属性.