Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/342.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Selenium-使用当前Chrome实例中的会话_Python_Selenium - Fatal编程技术网

Python Selenium-使用当前Chrome实例中的会话

Python Selenium-使用当前Chrome实例中的会话,python,selenium,Python,Selenium,我正在尝试为web应用程序自动化一些表单填充。用户必须登录到应用程序,然后开始填写表单页面。我有以下使用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

我正在尝试为web应用程序自动化一些表单填充。用户必须登录到应用程序,然后开始填写表单页面。我有以下使用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窗口的url时,我已经登录,不必再次登录


有没有办法将此数据传递到我的Selenium脚本中,以便它使用当前在我现有Chrome实例上的会话,从而不必通过脚本登录?

历史上,不幸的是,这是不可能的(当我意识到它所涉及的工作和每个浏览器时,我的协议让我感到沮丧!)

我以前写过代码,将CSV中的变量作为用户名和密码。这是不好的,因为它是纯文本的,但是如果您愿意,也可以对信息进行散列并在代码中处理


综上所述,有一些平庸的解决方案,但在selenium中没有处理这个问题的原生方法:(

默认情况下,Selenium会在每次启动新实例时创建一个临时chrome配置文件,并在退出该实例后删除该配置文件。如果您将Selenium driver中的chrome选项更改为使用自定义chrome配置文件,并允许该配置文件保存cookie,则无需每次键入登录详细信息即可登录tc.

所以我必须将登录逻辑添加到我的脚本中,并每次登录?是否有其他人可能为此制定的可靠替代方案或解决方法?我只需要在Chrome上使用它。这是一个好问题,似乎应该有办法。有一些关于这方面的有用信息。不过,要回答您的问题,您的understanding和我的一样。它是每个运行时的一部分。您是否尝试过从已登录的Chrome实例中提取cookie并将其添加到新的Chrome实例中?您确定您的代码尝试
Ie(“C:\\…\\chromedriver.exe”)