Python 子进程启动新的 chrome 选项卡

问题描述 投票:0回答:1

我有一个小Python脚本,可以在启动时启动我需要的所有选项卡,最后应该有一个新的选项卡页:

import requests
import subprocess
import time

chrome_path = r'C:\Program Files\Google\Chrome\Application\chrome.exe'

if is_this:
    subprocess.Popen([chrome_path, 'example.com'])
    time.sleep(5)
    subprocess.Popen([chrome_path, 'https://exmaple.com'])
    time.sleep(0.2)
    subprocess.Popen([chrome_path, 'http://guthib.com'])
    time.sleep(0.2)
    subprocess.Popen([chrome_path, 'chrome://newtab'])
else:
    subprocess.Popen([chrome_path, 'https://github.com'])
    time.sleep(0.2)
    subprocess.Popen([chrome_path, 'http://testurl.com'])
    time.sleep(0.2)
    subprocess.Popen([chrome_path, 'chrome://newtab'])

一切正常,除了 chrome://newtab 打开一个新的 chrome 窗口而不是同一窗口中的新标签页。

我在整个网络上进行了搜索,但找不到解决方案,除了将 selenium 与 webdriver 一起使用,但是使用它们我遇到了很多问题:

它没有通过我的 chrome 配置文件启动 它显示一个横幅,表明该浏览器正在自动运行 Windows Defender 会对其进行标记。 newtab als 在那里不起作用。

感谢您的帮助。

python python-3.x google-chrome selenium-webdriver selenium-chromedriver
1个回答
0
投票

您会考虑使用 Selenium 的 Browserist 扩展吗?

完全公开,我是这个包的作者。 Browserist 是 Selenium Web 驱动程序的轻量级、简洁的扩展,使浏览器自动化变得更加容易。只需使用

pip install browserist
安装软件包即可开始使用。

也许这样的东西可以解决你的问题?

from browserist import Browser

with Browser() as browser:
    browser.open.url("https://example.com")
    browser.window.open.new_tab("https://google.com", "tab_2")
    browser.window.open.new_tab("https://github.com", "tab_3")
    browser.window.open.new_tab("http://testurl.com", "tab_4")

    print("About to quit the browser. Press Y to continue.")
    while browser.prompt.proceed_yes_or_no() is False:
        print("About to quit the browser. Press Y to continue.")
        pass

它的样子:

备注:

  • 从终端运行时,浏览器将保持打开状态,直到您按
    Y
    退出。
  • 小细节:看起来您正在 Mac 上运行 Chrome。 Chrome 是 macOS 上 Browserist 的默认设置。如果您运行 Windows,Edge 将是默认设置,因此如果首选 Chrome,您可能需要稍微调整设置。
© www.soinside.com 2019 - 2024. All rights reserved.