每当需要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,但我真的不知道在哪里追加它们。
答案 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);