python - 如何在 Python 中使用 Selenium 登录后保持 session ?

标签 python selenium

我在 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()

登录后,我试图访问需要登录 session 的特定页面,

browser.get('login-session-required-page-url')

它丢失了它的 session 并且不允许访问。

我认为这与 session 和cookie有关,但我不知道如何处理。

最佳答案

是你的String browser.get 中的对象在主流浏览器上定期成功登录后,括号中的功能网址?

如果您要手动登录而不是通过 selenium,则您要访问的新 URL(要求用户已登录的 URL)应该是 browser.get 中的字符串 URL。 .

您的代码存在一些潜在问题。您没有指定通过 submit() 提交之间的任何等待时间和下一个browser.get() .

考虑像这样在两者之间添加 10 到 30 秒的等待时间:

passwordElem.submit()

browser.implicitly_wait(10)

browser.get('https://www.YourSite.com/LoggedIn/User/SomeNewPageThatRequiresBeingSignedIn/')

另一种可能性是,您在登录后访问的 URL 对于仅在最近登录 session 中获得的 cookie 是唯一的。尝试查看在不同时间通过不同浏览器多次登录时 URL 是否完全相同。可能是您每次登录时都会收到一个唯一的 URL。

关于python - 如何在 Python 中使用 Selenium 登录后保持 session ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34652783/

相关文章:

python - 在 YouTube V3 API 上突然获得 Oauth 2.0 同意的 403(禁止访问)

python - numpy:为什么数组乘法是可交换的?

python - 刮掉的表格无法完整打印

python - 如何使用 Python 和 Selenium Webdriver 收听音频文件

java - 如何使用Java代码识别Selenium中的页面是否有iframe?

python - 没有名为 django 的模块,但已安装

python - 在 BeautifulSoup 中使用多个条件

javascript - 设置 Selenium Firefox 配置文件

python Selenium : wait until an element is no longer stale?

java - 如何在Selenium中切换到子窗口的子窗口(窗口句柄和标题是动态的)?