【发布时间】:2016-09-11 20:30:21
【问题描述】:
我尝试在 Windows 10 系统上使用 Selenium Webdriver 和 Python 来实现浏览器操作的一些自动化。但是我有这个问题:Selenium 启动的 Firefox 窗口没有“看到”我已经登录并且目标站点将我发送到登录页面。所以我假设 Selenium 并没有真正使用配置文件,而只是它的一个副本。
我想知道:
- 我关于实际使用配置文件副本的结论是否属实?
- 如果 1. 为真,有没有办法真正使用现有配置文件中的所有内容?
- 如果我的结论不正确,请证明它并指出我可以找出哪些信息可用于会话的方向,为什么 Selenium 无法发送它以及如何强制它实际发送。
编辑:
from selenium import webdriver
fp = webdriver.FirefoxProfile('C:/Users/<user name>/AppData/Roaming/Mozilla/Firefox/Profiles/abc3defghij2.ProfileName')
driver = webdriver.Firefox(fp)
driver.get("https://www.example.com/membersarea")
【问题讨论】:
-
您是否在脚本中调用任何已保存的配置文件或浏览器?请提供代码
-
当您可以假设“全新”会话并通过 Selenium 本身执行登录时,为什么要让 Selenium “检测”您已经登录?
-
我将 Selenium IDE 与 SelBlocks 一起用于类似的任务,但看起来我遇到了它的一个限制 - 我需要在登录和未登录时从一个页面获取信息。据我所知,使用 Selenium IDE,我可以使用 javascript 打开私有窗口,但无法使用它。