【问题标题】:How to open chrome developer console using Selenium in Python?如何在 Python 中使用 Selenium 打开 chrome 开发者控制台?
【发布时间】: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

【问题讨论】:

    标签: python google-chrome selenium


    【解决方案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 定位器为我工作。
          猜你喜欢
          • 2016-07-18
          • 2012-03-09
          • 2012-07-03
          • 2018-06-28
          • 2021-09-22
          • 2018-06-08
          • 2011-10-07
          • 2016-01-11
          • 1970-01-01
          相关资源
          最近更新 更多