一尘不染

如何使用浏览器在python 2.7中的自动登录脚本中保存的凭据?

selenium

当我手动打开浏览器(firefox和chrome),并转到我以前通过浏览器保存登录凭据的网站时,用户名和密码字段会自动填充。但是,当我使用python
selenium webdriver打开浏览器到特定页面时,不会填充这些字段。

我的脚本的重点是打开网页并用于element.submit()登录,因为应该已经填充了登录凭据。但是不是。我怎样才能让他们在田野里填充?

例如:

driver = webdriver.Chrome()    
driver.get("https://facebook.com")    
element = driver.find_element_by_id("u_0_v")    
element.submit()

阅读 219

收藏
2020-06-26

共1个答案

一尘不染

这是因为selenium不使用您的默认浏览器实例,而是使用临时(空)配置文件打开了另一个实例。

如果您希望它加载默认配置文件,则需要指示它这样做。

这是一个镶边示例:

from selenium import webdriver
from selenium.webdriver.chrome.options import Options

options = webdriver.ChromeOptions() 
options.add_argument("user-data-dir=C:\\Path") #Path to your chrome profile
w = webdriver.Chrome(executable_path="C:\\Users\\chromedriver.exe", chrome_options=options)

这是一个Firefox示例:

from selenium import webdriver
from selenium.webdriver.firefox.webdriver import FirefoxProfile

profile = FirefoxProfile("C:\\Path\\to\\profile")
driver = webdriver.Firefox(profile)

到这里,只需在(非官方)文档中找到与此相关的链接即可。Firefox配置文件和Chrome驱动程序信息就在其下方。

2020-06-26