【问题标题】:Grouping of Selenium Chrome windows in Windows 10 with Python使用 Python 在 Windows 10 中对 Selenium Chrome 窗口进行分组
【发布时间】:2021-03-12 12:57:26
【问题描述】:

我正在尝试创建一个 Python 程序,该程序将登录到一个站点并持续监控一些信息。我有多个帐户,我计划将它们作为多个会话启动。我为我的程序创建了一个可执行文件,使其使用起来更加流畅。

现在,我正在设置将 cookie 保存到 user-data-dir 以保存登录信息,这样我就不必每次都输入它。我正在尝试切换到可以从文件加载登录信息的方法,从而停止使用user-data-dir

options = Options()
options.add_argument("user-data-dir=userdata")
driver = webdriver.Chrome(options=options)
driver.get("URL")

这是我现有的设置,带有一个包含用户数据的文件夹。在这种情况下,当我运行同一程序的多个会话时,新窗口将在任务栏中作为一个组打开。 (图中用红色标记。)

options = Options()
driver = webdriver.Chrome()
driver.get(URL)

我正在尝试将代码更改为此,并且代码按预期工作。但是 Windows 的分组已经停止,它们现在在任务栏中以不同的图标打开。(在图像中标记为蓝色)。

谁能建议我解决这个问题?我希望它们在单个组中打开。

【问题讨论】:

    标签: python python-3.x selenium selenium-chromedriver


    【解决方案1】:

    没有解决方案,因为每个 Selenium 启动浏览器都是一个新的独立进程。你唯一能做的就是以无头模式启动它,这样它甚至不会出现

    from selenium import webdriver
    
    options = webdriver.ChromeOptions()
    options.headless = True
    driver = webdriver.Chrome(options=options)
    

    【讨论】:

    • 那为什么我的代码看起来像这样时没有问题? options = Options()options.add_argument("user-data-dir=userdata")driver = webdriver.Chrome(options=options)driver.get("URL")
    • 对不起,我误读了您的问题。因为您应该针对每个要跟踪的唯一登录名定位一个配置文件,以防您希望事情并行。如果您可以在同一个浏览器中按顺序使用东西,那么您可以使用一个配置文件,并且您不应该一次又一次地重新启动浏览器
    • 我希望它是并行的,所以你能告诉我更多关于 ** 你想要跟踪的每个唯一登录的目标一个配置文件**,我希望所有登录并行,并且还希望对任务栏中的图标进行分组。我不太清楚你提到的想法。
    • 并行和分组不能同时使用。 Selenium 或 Chrome API 可让您一次在一个选项卡上工作。因此,对于并行,您将不得不启动多个 chrome 并使用无头选项将图标全部隐藏起来。此外,对于多个配置文件,您将使用类似 options.add_argument("user-data-dir=userdata1")options.add_argument("user-data-dir=userdata2")
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-19
    • 2013-04-16
    • 1970-01-01
    • 2021-11-01
    • 2021-11-18
    • 1970-01-01
    相关资源
    最近更新 更多