Javascript测试:Selenium cookies数据网址

时间:2016-03-23 09:42:55

标签: javascript selenium cookies behat

每当需要Javascript时,我都会运行Selenium进行Behat测试。 如果Javascript(因此Selenium被禁用),我当前的Behat测试工作正常。

目前,我对Selenium的唯一错误反馈如下:

unknown: Failed to set the 'cookie' property on 'Document': Cookies are disabled inside 'data:' URLs.
        (Session info: chrome=48.0.2564.109)
        (Driver info: chromedriver=2.20.353124 (035346203162d32c80f1dce587c8154a1efa0c3b),platform=Linux 4.2.0-16-generic x86_64) (WARNING: The server did not provide any stacktrace information)
      Command duration or timeout: 7 milliseconds
      Build info: version: '2.52.0', revision: '4c2593c', time: '2016-02-11 19:06:42'
      System info: host: 'ca7a41afbfee', ip: '172.17.0.10', os.name: 'Linux', os.arch: 'amd64', os.version: '4.2.0-16-generic', java.version: '1.8.0_45-internal'
      Driver info: org.openqa.selenium.chrome.ChromeDriver
      Capabilities [{applicationCacheEnabled=false, rotatable=false, mobileEmulationEnabled=false, chrome={userDataDir=/tmp/.com.google.Chrome.WWmJvH}, takesHeapSnapshot=true, databaseEnabled=false, handlesAlerts=true, hasTouchScreen=false, version=48.0.2564.109, platform=LINUX, browserConnectionEnabled=false, nativeEvents=true, acceptSslCerts=true, locationContextEnabled=true, webStorageEnabled=true, browserName=chrome, takesScreenshot=true, javascriptEnabled=true, cssSelectorsEnabled=true}]
      Session ID: b8a3f435fe337ca77d523d5b72f6235b (WebDriver\Exception\UnknownError)

我在这里做错了什么? 有些帖子谈论的是cookie,但我真的不知道在哪里追加它们。

2 个答案:

答案 0 :(得分:9)

您无法使用Chrome驱动程序设置Cookie,直到网页完全加载为止。使用selenium等待页面加载,然后设置cookie。

答案 1 :(得分:1)

在添加Cookie之前,您需要打开页面:

$capabilities = DesiredCapabilities::chrome();
$host = 'http://localhost:4444/wd/hub'; // this is the default
$this->webDriver = RemoteWebDriver::create($host, $capabilities, 5000);
$this->urnOpen('/');
$cookie = array();
$cookie['name'] = 'NAME';
$cookie['value'] = 'VALUE';
$this->webDriver->manage()->addCookie($cookie);