我正在尝试为网络应用自动化一些表单填充。用户必须登录该应用程序,然后开始填写表单页面。我有以下使用Selenium的Python脚本,它可以打开我的应用程序窗口:
from selenium import webdriver
driver = webdriver.Ie("C:\\Python\\Selenium\\Chrome\\chromedriver.exe")
driver.add_cookie()
driver.set_page_load_timeout(30)
driver.get("myurl/formpages")
driver.maximize_window()
driver.quit()
但是,当Selenium启动Chrome窗口时,用户未登录。我希望每次都不需要登录。
在另一个Chrome窗口中,我已经以我的测试用户身份登录。因此,每当我访问Chrome窗口上的网址时,我都已登录,无需再次登录。
有没有办法将这些数据传递到我的Selenium脚本中,以便它使用我现有Chrome实例上当前的会话,因此无需通过脚本登录?
答案 0 :(得分:1)
从历史上看,遗憾的是这是不可能的(当我意识到它涉及的工作和每个浏览器的努力时,我的协议令人沮丧!)。
我之前编写过代码,从CSV中获取用户名和密码的变量。这很糟糕,因为它是纯文本的,但如果您愿意,也可以在代码中处理这些信息。
所以回顾一下,有一些平庸的解决方案,但在硒中没有本地方法来解决这个问题:(
答案 1 :(得分:0)
默认情况下,Selenium会在您每次启动新实例时创建一个临时的chrome配置文件,并在您退出该实例后删除该配置文件。如果您将selenium驱动程序中的chrome选项更改为使用自定义chrome配置文件,并允许该配置文件保存cookie,则无需每次输入登录详细信息等就可以登录。