所以我在python中使用PhantomJS和selenium一起使用一个小测试工具,而我正在使用它的网站使用以下脚本来确定是否启用了cookie
var tc = 'testCookie' + Math.round(Math.random() * 1e10);
window.document.cookie = tc;
cookiesSupported = (window.document.cookie.indexOf(tc) != -1) && window.navigator.cookieEnabled;
当我使用phantomJS打开应用程序时,它告诉我没有启用cookie,尽管文档说明默认情况下启用了Phantomjs 1.7 cookie。
有人能告诉我到底我做错了什么吗?
这是我的python代码的片段
def setUp(self):
headers = {'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
'Accept-Language': 'zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3',
'User-Agent': 'Mozilla/5.0 (Windows NT 6.2; WOW64; rv:47.0) Gecko/20100101 Firefox/47.0',
'Connection': 'keep-alive'
}
for key, value in headers.iteritems():
webdriver.DesiredCapabilities.PHANTOMJS['phantomjs.page.customHeaders.{}'.format(key)] = value
webdriver.DesiredCapabilities.PHANTOMJS[
'phantomjs.page.settings.userAgent'] = 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.116 Safari/537.36'
self.driver = webdriver.PhantomJS(executable_path='C:\\Users\\name\\Desktop\\phantomjs-2.1.1-windows\\bin\\phantomjs.exe')
self.driver.implicitly_wait(30)
self.verificationErrors = []
self.accept_next_alert = True
def test_activation_activity(self):
driver = self.driver
driver.get("http://localhost/test_page.html")
sleep(10)
driver.save_screenshot('screen2.png')
请注意,test_page.html只是一个页面,用于查看代码是否有效(它不是实际应用程序)并使用相同的代码打印cookiesSupported
变量
Note2我使用driver.cookies_enabled = True
尝试了here建议,但它不起作用
编辑:cookie检查方法是否可能不正确?例如,如果我使用here的最佳答案,即使我使用PhantomJS,它也会显示为True