【发布时间】:2021-10-17 03:23:37
【问题描述】:
因此,我尝试使用 selenium 在 python 中创建一个程序,该程序会自动将我登录到我的扩展程序中,但是由于它位于自动测试软件上,即 chromedriver.exe,因此不允许我登录这些扩展程序。我想知道是否有没有注册为自动测试软件但作为普通用户可以解决此问题的驱动程序,或者是否有任何解决方法。
【问题讨论】:
因此,我尝试使用 selenium 在 python 中创建一个程序,该程序会自动将我登录到我的扩展程序中,但是由于它位于自动测试软件上,即 chromedriver.exe,因此不允许我登录这些扩展程序。我想知道是否有没有注册为自动测试软件但作为普通用户可以解决此问题的驱动程序,或者是否有任何解决方法。
【问题讨论】:
一种方法是,为您的驱动程序使用数据目录。在使用 selenium 运行 chrome 之前,您可以使用特定路径的数据目录运行 chrome。例如:
# run_brower.py
import os
chrome_path = r"C:\Program Files\Google\Chrome\Application\chrome.exe"
os.system(f"start \"\" \"{chrome_path}\" --user-data-dir=\"%cd%\cd\" --window-position=0,0")
然后手动添加扩展程序,然后登录您的扩展程序并关闭 chrome。 之后,您的会话将保存在该“数据目录”中,因此通过为同一目录提供参数来运行 selenium:
# main.py
from pathlib import Path
from selenium.webdriver.chrome.options import Options
from selenium import webdriver
BASE_DIR = Path(__name__).absolute().parent
options = Options()
options.add_argument(f"--user-data-dir={BASE_DIR / 'cd'}")
driver = webdriver.Chrome(options=options)
# ...
【讨论】: