我在 Python 3.4 中使用 Selenium 成功登录网站登录过程如下:
browser = webdriver.PhantomJS()
browser.get('url')
emailElem = self.browser.find_element_by_name('user_id')
emailElem.send_keys(user_id)
passwordElem = self.browser.find_element_by_name('password')
passwordElem.send_keys(user_pwd)
passwordElem.submit()
Run Code Online (Sandbox Code Playgroud)
登录后,我试图访问需要登录会话的某些页面,
browser.get('login-session-required-page-url')
Run Code Online (Sandbox Code Playgroud)
它丢失了会话并且不允许访问。
我认为这与会话和cookie有关,但我不知道如何处理。
小智 -1
你括号String
里的Object是browser.get
你在主流浏览器上正常登录成功后的功能性url吗?
如果您要手动登录而不是通过 selenium 登录,则您要访问的新 URL(要求用户登录的 URL)应该是browser.get
.
您的代码存在一些潜在问题。您没有指定提交到submit()
下一次之间的任何等待时间browser.get()
。
考虑在两者之间添加 10 到 30 秒的等待,如下所示:
passwordElem.submit()
browser.implicitly_wait(10)
browser.get('https://www.YourSite.com/LoggedIn/User/SomeNewPageThatRequiresBeingSignedIn/')
Run Code Online (Sandbox Code Playgroud)
另一种可能性是,您登录后访问的 URL 对于您在最近登录会话中获得的 cookie 来说是唯一的。尝试在不同时间通过不同浏览器多次登录,查看 URL 是否完全相同。您每次登录时可能都会收到一个唯一的 URL。
归档时间: |
|
查看次数: |
2559 次 |
最近记录: |