如何在 Python 中使用 Selenium 打开 chrome 开发者控制台?
Posted
技术标签:
【中文标题】如何在 Python 中使用 Selenium 打开 chrome 开发者控制台?【英文标题】:How to open chrome developer console using Selenium in Python? 【发布时间】:2015-09-05 00:41:41 【问题描述】:我正在尝试使用 selenium webdriver 在 chrome 中打开开发者控制台。 我在做
从硒导入网络驱动程序
从 selenium.webdriver.common 导入 action_chains, 键
...
浏览器 = webdriver.Chrome(executable_path="C:\chrm\chromedriver.exe") browser.get("https://www.facebook.com/groups/GNexus5/")
...
action = action_chains.ActionChains(浏览器)
action.send_keys(keys.Keys.CONTROL+keys.Keys.SHIFT+'j')
action.perform()
但它并没有打开开发者控制台。 我已经尝试过其他键(只需键入一些击键,控制选择某些元素)并且它们正在工作。
我正在使用 ChromeDriver
【问题讨论】:
【参考方案1】:在启动 chrome 时告诉 selenium 包含一个“auto-open-devtools-for-tabs”,这是一个使用 nightwatch 配置的示例:
...
chrome:
desiredCapabilities:
browserName: 'chrome',
javascriptEnabled: true,
acceptSslCerts: true,
chromeOptions:
'args': ['incognito', 'disable-extensions', 'auto-open-devtools-for-tabs']
,
...
【讨论】:
【参考方案2】:只有当您绝望并且您的操作系统是 Windows 时,您才可以通过将 AutoHotKey 脚本添加到 Python 代码来简单地做到这一点。你可以从here下载AutoHK
安装 AutoHK。然后在记事本中创建新脚本:只需输入一个短字符串
Send ^+J
并将其另存为script.ahk
。这些操作将需要 2-3 分钟。然后在你的代码中调用它
browser.get("https://www.facebook.com/groups/GNexus5/")
import os
os.system("path_to_script.ahk/script.ahk")
这会起作用:)
【讨论】:
我不是那个意思。但是我已经尝试过send_keys
以及 key_down 并且在这两种情况下都没有结果。也在Firefox浏览器中尝试过,它可以工作。因此,ChromeDriver 似乎不支持组合键,如果不是强制您使用 Chrome,您只需将代码中的一行替换为 browser = webdriver.Firefox()
@Andersson 问题是关于如何打开 Chrome 开发者控制台,所以使用 Firefox 显然不是一个可行的解决方法。【参考方案3】:
使用 pyautogui,您可以按键盘并在 foucs 中的选项卡中打开控制台。
import pyautogui
pyautogui.keyDown('ctrl')
pyautogui.keyDown('shift')
pyautogui.press('j')
pyautogui.keyUp('ctrl')
pyautogui.keyUp('shift')
【讨论】:
【参考方案4】:虽然它本身并没有打开开发工具窗格,但我建议您参考 this answer,它解释了如何运行特定于开发工具控制台的命令。
如果你真的需要自己打开窗格,dev-tools documentation 中可能有答案。
仅供参考,您需要 Selenium version 4.0.0.b3
来执行这些操作。稳定版本不支持开发工具。
【讨论】:
【参考方案5】:driver.find_element_by_xpath(<any element_name on the webpage>).send_keys(Keys.F12)
这会直接打开开发者控制台!
您也可以使用其他 find_by 方法。
【讨论】:
这对我不起作用。我尝试了driver.find_element_by_tag_name('body').send_keys(Keys.F12)
,但没有任何反应。
使用 Xpath 定位器为我工作。以上是关于如何在 Python 中使用 Selenium 打开 chrome 开发者控制台?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 python 和 Selenium 将 cookie 保存在浏览器中
如何在 python 中使用 selenium 下载 pdf 文件