【问题标题】:selenium php binding does not catch content sessionselenium php 绑定不捕获内容会话
【发布时间】:2018-07-10 11:11:59
【问题描述】:

我正在尝试在我的 Window 10 计算机中安装 selenium php 绑定。我下载 selenium 3.13.0 和 https://code.google.com/archive/p/php-webdriver-bindings/downloads 版本 0.9.1。我还下载了 geckodriver-v0.21.0-win64.zip 并以管理员身份运行。

由于我的壁虎在端口 4444 上运行,我在端口 4445 上启动 selenium 服务器

     java -jar selenium-server-standalone-3.13.0.jar -port 4445 

我使用的示例代码是

require_once "phpwebdriver/WebDriver.php";
$webdriver = new WebDriver("localhost", "4445");
$webdriver->connect("firefox");                            
$webdriver->get("http://google.com");
$element = $webdriver->findElementBy(LocatorStrategy::name, "q");
if ($element) {
    $element->sendKeys(array("php webdriver" ) );
    $element->submit();
}

但我收到以下错误。我正在使用 php 5.6.30。我的火狐是 61.0.1。我的 javs 版本是 1.8.0_171。

有人能告诉我如何解决这个问题吗?谢谢。

注意:未定义的属性:第 60 行 C:\AppServ\www\php-webdriver-bindings\phpwebdriver\WebDriver.php 中的 stdClass::$sessionId stdClass Object ( [sessionId] => [value] => stdClass Object ( [error] => invalid session id [message] => No active session with ID [stacktrace] => ) [status] => 6 )

致命错误:在 C:\AppServ\www\php-webdriver-bindings\phpwebdriver\WebDriverBase.php:130 中未捕获异常 'WebDriverException' 和消息 '6' 堆栈跟踪:#0 C:\AppServ\www\php -webdriver-bindings\phpwebdriver\WebDriverBase.php(170): WebDriverBase->handleResponse(Object(stdClass)) #1 C:\AppServ\www\php-webdriver-bindings\example2.php(25): WebDriverBase->findElementBy ('name', 'q') #2 {main} 在第 130 行的 C:\AppServ\www\php-webdriver-bindings\phpwebdriver\WebDriverBase.php 中抛出

硒服务器输出是:

D:\Selenium-server>java -jar selenium-server-standalone-3.13.0.jar -port 4445 19:12:35.888 信息 [GridLauncherV3.launch] - Selenium 构建信息:版本:'3.13.0',修订:'2f0d292'

19:12:35.888 INFO [GridLauncherV3$1.launch] - 在端口 4445 上启动独立的 Selenium 服务器 2018-07-10 19:12:36.128:INFO::main: 日志初始化 @911ms 到 org.seleniumhq.jetty9.util.log.StdErrLog

19:12:36.923 INFO [SeleniumServer.boot] - Selenium 服务器已启动并在端口 4445 上运行

19:12:51.768 INFO [ActiveSessionFactory.apply] - 功能是:{ "browserName": "firefox", “javascriptEnabled”:是的, “本机事件”:假, “版本”: ”” }

19:12:51.774 INFO [ActiveSessionFactory.lambda$apply$11] - 匹配工厂 org.openqa.selenium.remote.server.ServicedSession$Factory(提供者:org.openqa.selenium.firefox.GeckoDriverService)

19:13:02.494 信息 [ActiveSessionFactory.apply] - 功能是:{ "browserName": "firefox", “javascriptEnabled”:是的, “本机事件”:假, “版本”: ”” }

19:13:02.494 INFO [ActiveSessionFactory.lambda$apply$11] - 匹配工厂 org.openqa.selenium.remote.server.ServicedSession$Factory(提供者:org.openqa.selenium.firefox.GeckoDriverService)

【问题讨论】:

    标签: php selenium selenium-webdriver


    【解决方案1】:

    下载 chrome 驱动并尝试以下命令

    要注册 Selenium Grid Hub,您需要使用以下命令:

    >java -jar /Users/admin/selenium-server-standalone-3.14.0.jar -role hub
    

    要为 ChromeDriver 和 Chrome 注册 Selenium Grid 节点,您需要传递 ChromeDriver 的绝对路径以及注册 URI 的键和值,如下所示:

    >java -Dwebdriver.chrome.driver=/path/to/chromedriver.exe -jar /Users/admin/selenium-server-standalone-3.14.0.jar -role node -hub http://<IP_GRID_HUB>:4444/grid/register
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-06-20
      • 2021-09-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-10
      相关资源
      最近更新 更多