Selenium facebook webdriver error



我正在尝试运行facebook/php-webdriver包,但我被困在这个阶段。

它在我的本地主机中工作正常,但在我的 Ubuntu 服务器中,经过一段时间的等待,我收到此错误

使用

params 为 http POST 到/session 抛出的卷曲错误: {"desiredCapabilities":{"browserName":"firefox"}}操作超时 30001 毫秒后,接收 0 字节

这是我的代码的样子

 $browser_type = 'chrome';
      $host = 'http://localhost:4444/wd/hub'; // this is the default
        $capabilities = array(FacebookWebDriverRemoteWebDriverCapabilityType::BROWSER_NAME => $browser_type);
                   $driver = FacebookWebDriverRemoteRemoteWebDriver::create($host, $capabilities);
        $driver->get($setconnection);
        $driver->get($setavail);
        $cookie = $driver->manage()->getCookies();
        $driver->close();
        $cookie = reset($cookie);
        $cookievalue = $cookie['value'];

基本上,我正在尝试从此请求中获取cookievalue,任何人,请有一些解决方案!

这通常意味着Selenium服务器会话有问题。您的服务器等待 Firefox 打开,但它无法打开。您应该使用无头浏览器(专门为自动化而设计的浏览器(

在本地主机(您的 PC(中,有一个显示环境,您的计算机屏幕,Firefox 将像往常一样启动和关闭。

但是在服务器中您可能没有配置显示环境,最好的解决方案是在facebook php Web驱动程序中指定无头Firefox子句 - https://github.com/facebook/php-webdriver/issues/506

$capabilities = FacebookWebDriverRemoteDesiredCapabilities::firefox();
$capabilities->setCapability(
    'moz:firefoxOptions',
   ['args' => ['-headless']]
);

错误告诉您脚本无法访问此 url http://localhost:4444/wd/hub,即使您的脚本放在同一台机器中,但它无法访问自身:localhost

此类问题通常是由linux机器中的代理/iptables/防火墙/主机名设置引起的,请检查这些设置。

可能的重复:在 CentOS7 上设置 Selenium

对于Windows机器,没有太多地方可以通过操作系统本身控制网络流量,到目前为止,我知道为代理设置环境变量可以做到这一点,并且在浏览器中设置代理。

但是对于linux机器,有很多地方可以设置来控制网络流量,就像我上面说的。对于不同的 Linux 操作系统,这些设置发生在不同的文件/位置,或者具有不同的 cmd 来执行此操作。

此外,现在的VM/docker,对于这两个东西,newwork设置更加复杂。

相关内容

  • 没有找到相关文章

最新更新