selenium - 为什么 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
解决方案
添加devtools
选项,如下所示。
需要以下导入:
from selenium.webdriver.firefox.options import Options
脚本
FF_options = Options()
FF_options.add_argument("-devtools")
driver = webdriver.Firefox(firefox_options=FF_options)
您可以在firefox 命令行选项页面中获得完整的选项列表。
推荐阅读
- autodesk-forge - 从 Forge 加载大模型
- android - 关闭应用程序几分钟后未调用android onLocationChanged方法
- sql - SQL-server 中的隐式缺失值到显式缺失值
- html - 尝试使用带有画廊的元素解决 CSS :nth-child 公式
- vsto - VSTO 插件安装程序 - 询问一些用户信息
- node.js - Node.js 从 html 获取值并使用 req.body。
- java - 如何从 Python 客户端订阅 websocket 用户队列?
- alfresco - BPMN 中的决策任务和业务任务有什么区别?如何使用 alfresco 实现决策任务?
- java - 百里香弹簧MVC
- jhipster - JHipster Gateway UI 不是从可执行战争开始的