【问题标题】:PHP webdriver + selenium + chromedriver not loading cookies from profilePHP webdriver + selenium + chromedriver 不从配置文件加载cookies
【发布时间】:2019-03-15 15:31:12
【问题描述】:

我有

openjdk version "1.8.0_181"
ChromeDriver 2.42.591071
Google Chrome 69.0.3497.100
Selenium build info: version: '3.14.0'

我正在使用当前代码 sn-p 运行测试:

<?php

namespace Facebook\WebDriver;

use Facebook\WebDriver\Remote\DesiredCapabilities;
use Facebook\WebDriver\Remote\RemoteWebDriver;
use Facebook\WebDriver\Chrome\ChromeOptions;
ini_set("display_errors", "on");
error_reporting(E_ALL);
require_once('vendor/autoload.php');

// start Chrome with 5 second timeout
$host = 'http://localhost:4444/wd/hub';
$capabilities = DesiredCapabilities::chrome();
$options = new ChromeOptions();
$options->addArguments(array(
      '--headless',
      '--no-sandbox',
      '--window-size=1920,1080',
      'user-data-dir=/usr/share/nginx/html/browser/tmp/profile',
    ));
$capabilities->setCapability(ChromeOptions::CAPABILITY, $options);
$driver = RemoteWebDriver::create($host, $capabilities, 5000);

$driver->get('http://example.com/browser/cookies.php');

$driver->takeScreenshot('/usr/share/nginx/html/browser/tmp/screen.png');

// close the browser
$driver->quit();
echo "<img src='tmp/screen.png' />";

cookies.php中的代码是:

<?php
if(isset($_COOKIE['test'])){
    echo "It is set";
}else{
    setcookie("test", "testCookie");
    echo "Setting it ...";
}

我希望 cookie 在第二次访问时被重新使用,所以我会得到“它已设置”,而不是“设置它......”无论我请求页面多少次。

我检查了配置文件的路径,它已成功创建。

我也在浏览器中尝试了该页面,它运行正常,所以我在这里缺少什么?

谢谢

【问题讨论】:

    标签: php selenium google-chrome cookies webdriver


    【解决方案1】:

    您的浏览器是在每次运行时从头开始创建的。如您所知,$_COOKIE 存储在浏览器中。因此,除非您在退出时保存 cookie 并在启动时加载,否则您无法访问。

    查看示例:Laravel Dusk - Reuse browser with its session and cookies

    并且不要在初始导航之前预加载 cookie。那是行不通的。首先,您应该导航到 url,然后加载 cookie。然后重新加载页面。您将看到第二个页面加载将包含 cookie。

    【讨论】:

      猜你喜欢
      • 2014-11-25
      • 2016-06-05
      • 2013-08-12
      • 1970-01-01
      • 2023-03-03
      • 2013-01-06
      • 2017-11-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多