通过 Selenium 在 Chrome 上打开检查(按 F12)

Posted

技术标签:

【中文标题】通过 Selenium 在 Chrome 上打开检查(按 F12)【英文标题】:Opening inspect (pressing F12) on Chrome via Selenium 【发布时间】:2020-04-09 11:14:05 【问题描述】:

我可以通过 Selenium 打开 Chrome,但无法模拟按键(特别是 F12,因为我想打开 Inspect 并最终使用移动浏览器 Like so)虽然我可以手动操作,即,打开 Chrome 并按 F12,我希望能够使用 Selenium 自动化这部分。我当前的代码如下所示 -

from selenium import webdriver
import time
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.common.keys import Keys
options = webdriver.ChromeOptions()
options.add_argument('--ignore-certificate-errors')
options.add_argument("--test-type")
options.binary_location = "/usr/bin/chromium"
driver = webdriver.Chrome('/Users/amigo/Documents/pet_projects/selenium/chromedriver')
driver.get('https://www.google.com')
ActionChains(driver).send_keys(Keys.F12).perform()

虽然代码运行没有任何错误,但我没有看到在浏览器上打开了检查。任何建议和帮助表示赞赏!先感谢您。

【问题讨论】:

【参考方案1】:

模拟 F12 的按键类似于打开 google-chrome-devtools。

要打开google-chrome-devtoolschrome-browser-console,您必须使用ChromeOptions 类添加参数--auto-open-devtools-for-tabs 参数如下:

代码块:

from selenium import webdriver

options = webdriver.ChromeOptions() 
options.add_argument("start-maximized")
options.add_argument("--auto-open-devtools-for-tabs")
options.add_experimental_option("excludeSwitches", ["enable-automation"])
options.add_experimental_option('useAutomationExtension', False)
driver = webdriver.Chrome(options=options, executable_path=r'C:\Utility\BrowserDrivers\chromedriver.exe')
driver.get("https://selenium.dev/documentation/en/")
print(driver.title)

控制台输出:

The Selenium Browser Automation Project :: Documentation for Selenium

浏览器控制台快照:

您可以在How to open Chrome browser console through Selenium? 中找到基于java 的相关讨论

【讨论】:

谢谢!这正是我想要的。您知道我如何以编程方式打开/切换设备工具栏以在打开时选择说 iPhone 吗?我正在尝试模拟 Command + Shift + M 的按键,但它似乎没有起到作用。 @KRW4 不确定。如果你能提出一个新问题,我可以试试你的新用例。 是否可以将其放到控制台选项卡中。元素选项卡对于记录错误毫无用处。谢谢 @MortenB Console 选项卡的所有功能可能会在 Selenium v​​4.x 中以编程方式提供

以上是关于通过 Selenium 在 Chrome 上打开检查(按 F12)的主要内容,如果未能解决你的问题,请参考以下文章

在Centos7上安装Python+Selenium+Chrome+Chromedriver

如何通过 Selenium 打开 Chrome 浏览器控制台?

通过 Selenium 中的 webdriver 传递用户代理

如何在 NUnit 测试框架上使用 selenium C# 在新的 Chrome 选项卡上打开 url

如何通过 Selenium 的 --user-data-dir 参数打开 Chrome 配置文件

在 Linux 上使用无头 Chrome 访问被拒绝页面,而有头 Chrome 通过 Python 使用 Selenium 在 Windows 上工作