当我手动打开浏览器(firefox和chrome),并转到我以前通过浏览器保存登录凭据的网站时,用户名和密码字段会自动填充。但是,当我使用python selenium webdriver打开浏览器到特定页面时,不会填充这些字段。
我的脚本的重点是打开网页并用于element.submit()登录,因为应该已经填充了登录凭据。但是不是。我怎样才能让他们在田野里填充?
element.submit()
例如:
driver = webdriver.Chrome() driver.get("https://facebook.com") element = driver.find_element_by_id("u_0_v") element.submit()
这是因为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驱动程序信息就在其下方。