首页 > 解决方案 > 为什么 Firefox 不使用 python selenium 打开它的控制台?

问题描述

我尝试了几种通过 selenium(使用 python)在 Firefox 中打开控制台的方法,但是这些方法都不起作用,尽管除了最后一个之外,我没有得到任何故障排除。

Selenium 3.141.0、Firefox 68.0、geckodriver-v0.24.0-win64

    import selenium
    from selenium import webdriver
    from selenium.webdriver import ActionChains
    from selenium.webdriver.common.keys import Keys
    from selenium.webdriver.common.desired_capabilities import DesiredCapabilities

    caps = DesiredCapabilities.FIREFOX
    driver = webdriver.Firefox(capabilities = caps, executable_path="C:\\Users\\user_name\\API_Fire\\geckodriver.exe")

    action = ActionChains(driver) 

# First version I tried:

    action.send_keys(Keys.CONTROL + Keys.SHIFT + 'k').perform()

# Second version I tried:

    action.key_down(Keys.F12).key_up(Keys.F12).perform()

# Third version I tried:

    action.key_down(Keys.CONTROL + Keys.SHIFT).send_keys('k').key_up(Keys.CONTROL + Keys.SHIFT).perform()

# Troubleshoot for third version: 
   InvalidArgumentException: Message: data did not match any variant of untagged enum KeyActionItem at line 1 column 1159







标签: seleniumfirefox

解决方案


添加devtools选项,如下所示。

需要以下导入:

from selenium.webdriver.firefox.options import Options

脚本

FF_options = Options()
FF_options.add_argument("-devtools")
driver = webdriver.Firefox(firefox_options=FF_options)

您可以在firefox 命令行选项页面中获得完整的选项列表。


推荐阅读