gpt4 book ai didi

python - 在 Phantomjs + selenium 中启用 cookie

转载 作者:太空狗 更新时间:2023-10-30 02:44:18 27 4
gpt4 key购买 nike

我想在我的 armv7 板上登录 amazons3(使用 url:' https://console.aws.amazon.com/iam/home?#security_credential ')。我使用了来自 here 的 phantom2.0.1|和 selenium2.45.0。

我可以成功打开网站,但是当我在填写用户名和密码后执行“提交”时,网站跳转到一个错误页面,显示“请启用 Cookies 以继续”。所以我想知道如何在 selenium 中为 phantomjs 启用 cookie。在我的 ubuntu12.04 和合适版本的 phantomjs 中,我可以成功

我的部分代码如下:

def __init__(self,username,password,login_url,width=1151,height=629):
self.username = username
self.password = password
self.login_url = login_url
dcap = dict(DesiredCapabilities.PHANTOMJS)
dcap["phantomjs.page.settings.userAgent"] = ( "Mozilla/5.0 (Macintosh; Intel Mac OS X) AppleWebKit/534.34 (KHTML, like Gecko) Phantomjs/2.0.1 Safari/534.34" )
self.driver = webdriver.PhantomJS(executable_path='/bin/phantomjs',desired_capabilities=dcap,service_args=['--ssl-protocol=any','--ignore-ssl-errors=true'])
self.driver.set_window_size(width,height)

def _login_system(self):
try:
self.driver.get(self.login_url)
print self.driver.page_source#I can success here
WebDriverWait(self.driver, 30).until(lambda driver : self.driver.find_element_by_id("ap_email")).send_keys(self.username)
WebDriverWait(self.driver, 30).until(lambda driver : self.driver.find_element_by_id("ap_password")).send_keys(self.password)
WebDriverWait(self.driver, 30).until(lambda driver : self.driver.find_element_by_id("signInSubmit-input")).submit()#failed here and showing Please Enable Cookies to Continue

最佳答案

我找到了答案,amazon 好像不接受 useragent 中的 "Phantomjs/(..*)"

失败:Mozilla/5.0(Macintosh;Intel Mac OS X)AppleWebKit/534.34(KHTML,如 Gecko)Phantomjs/2.0.1 Safari/534.34

OK:Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:36.0) Gecko/20100101 Firefox/36.0 WebKit

此外,我在用户代理的末尾添加了“WebKit”,因为“undefined is not an object”的问题(https://github.com/detro/ghostdriver/issues/325)

此外,我遇到了“raise BadStatusLine(line)”的问题(像这里:enter link description here)。这可能是由于不匹配引起的selenium和phantomjs的版本,所以我改用phantomjs1.9.8(piksel/phantomjs-raspberrypi in github)

对于编译问题,如果是在arm board上编译,最好使用swap来扩展RAM。

关于python - 在 Phantomjs + selenium 中启用 cookie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30072314/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com