如何在 firefox python selenium 中打开控制台?
How to open console in firefox python selenium?
我正在尝试使用 Python 通过 Selenium 打开 firefox 控制台。如何使用 python selenium 打开 firefox 控制台?是否可以将密钥发送到 driver 或类似的东西?
这个有效:
ActionChains(驱动程序).key_down(Keys.F12).key_up(Keys.F12).perform()
至少没有安装 firebug:)
尝试使用 send_keys
函数模拟与 "regular" firefox window 相同的过程:
from selenium.webdriver.common.keys import Keys
driver.find_element_by_tag_name('body').send_keys(Keys.CONTROL + Keys.SHIFT + 'k')
我没有安装 firebug,这适用于 Macos:
from selenium.webdriver.common.keys import Keys
driver.find_element_by_tag_name("body").send_keys(Keys.COMMAND + Keys.ALT + 'k')
我知道这个问题比较老,但我最近 运行 关注了这个问题。我通过传入浏览器进程参数“-devtools”让 firefox 自动打开 devtools。
硒:3.14
壁虎驱动程序:0.21.0
火狐:61.0.1
from __future__ import print_function
from datetime import datetime
import logging
import os
from selenium import webdriver
from selenium.webdriver.firefox.options import Options as FirefoxOptions
def before_scenario(context, scenario):
logging.info("RUNNING: " + scenario.name)
print("Browser Test starting.\n")
options = FirefoxOptions()
options.log.level = "trace"
options.add_argument("-devtools")
if 'headless' in os.environ and os.environ['headless'] == '1':
options.headless = True
context.driver = webdriver.Firefox(firefox_options=options)
context.driver.maximize_window()
在 Firefox 上访问开发者控制台
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.common.keys import Keys
driver_options = Options()
driver = webdriver.Firefox(
options=driver_options,
executable_path="geckodriver.exe")
actions = ActionChains(driver)
actions.send_keys(Keys.COMMAND + Keys.ALT + 'k')
在 Firefox 60+ 中,您需要使用 chrome 上下文 (CONTEXT_CHROME) 和 select 某些 UI 元素将密钥发送到控制台,此示例显示您如何使用 chrome 上下文和 tabbrowser-tabs UI 元素从控制台使用 GCLI 命令来发出击键
from selenium.webdriver import Firefox, DesiredCapabilities, FirefoxProfile
from selenium.webdriver.common.by import By
from selenium.webdriver.firefox.options import Options
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.common.keys import Keys
import time
profile = FirefoxProfile()
# Allow autoplay
profile.set_preference("media.autoplay.default", 0)
cap = DesiredCapabilities.FIREFOX
options = Options()
options.headless = True
webdriver = Firefox(firefox_profile=profile, capabilities=cap, options=options)
webdriver.get("https://www.youtube.com/watch?v=EzKkl64rRbM")
try:
time.sleep(3)
with webdriver.context(webdriver.CONTEXT_CHROME):
console = webdriver.find_element(By.ID, "tabbrowser-tabs")
console.send_keys(Keys.LEFT_CONTROL + Keys.LEFT_SHIFT + 'k')
time.sleep(5)
console.send_keys(':screenshot --full-page' + Keys.ENTER)
console.send_keys(Keys.LEFT_CONTROL + Keys.LEFT_SHIFT + 'k')
except:
pass
webdriver.quit()
我正在尝试使用 Python 通过 Selenium 打开 firefox 控制台。如何使用 python selenium 打开 firefox 控制台?是否可以将密钥发送到 driver 或类似的东西?
这个有效:
ActionChains(驱动程序).key_down(Keys.F12).key_up(Keys.F12).perform()
至少没有安装 firebug:)
尝试使用 send_keys
函数模拟与 "regular" firefox window 相同的过程:
from selenium.webdriver.common.keys import Keys
driver.find_element_by_tag_name('body').send_keys(Keys.CONTROL + Keys.SHIFT + 'k')
我没有安装 firebug,这适用于 Macos:
from selenium.webdriver.common.keys import Keys
driver.find_element_by_tag_name("body").send_keys(Keys.COMMAND + Keys.ALT + 'k')
我知道这个问题比较老,但我最近 运行 关注了这个问题。我通过传入浏览器进程参数“-devtools”让 firefox 自动打开 devtools。
硒:3.14 壁虎驱动程序:0.21.0 火狐:61.0.1
from __future__ import print_function
from datetime import datetime
import logging
import os
from selenium import webdriver
from selenium.webdriver.firefox.options import Options as FirefoxOptions
def before_scenario(context, scenario):
logging.info("RUNNING: " + scenario.name)
print("Browser Test starting.\n")
options = FirefoxOptions()
options.log.level = "trace"
options.add_argument("-devtools")
if 'headless' in os.environ and os.environ['headless'] == '1':
options.headless = True
context.driver = webdriver.Firefox(firefox_options=options)
context.driver.maximize_window()
在 Firefox 上访问开发者控制台
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.common.keys import Keys
driver_options = Options()
driver = webdriver.Firefox(
options=driver_options,
executable_path="geckodriver.exe")
actions = ActionChains(driver)
actions.send_keys(Keys.COMMAND + Keys.ALT + 'k')
在 Firefox 60+ 中,您需要使用 chrome 上下文 (CONTEXT_CHROME) 和 select 某些 UI 元素将密钥发送到控制台,此示例显示您如何使用 chrome 上下文和 tabbrowser-tabs UI 元素从控制台使用 GCLI 命令来发出击键
from selenium.webdriver import Firefox, DesiredCapabilities, FirefoxProfile
from selenium.webdriver.common.by import By
from selenium.webdriver.firefox.options import Options
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.common.keys import Keys
import time
profile = FirefoxProfile()
# Allow autoplay
profile.set_preference("media.autoplay.default", 0)
cap = DesiredCapabilities.FIREFOX
options = Options()
options.headless = True
webdriver = Firefox(firefox_profile=profile, capabilities=cap, options=options)
webdriver.get("https://www.youtube.com/watch?v=EzKkl64rRbM")
try:
time.sleep(3)
with webdriver.context(webdriver.CONTEXT_CHROME):
console = webdriver.find_element(By.ID, "tabbrowser-tabs")
console.send_keys(Keys.LEFT_CONTROL + Keys.LEFT_SHIFT + 'k')
time.sleep(5)
console.send_keys(':screenshot --full-page' + Keys.ENTER)
console.send_keys(Keys.LEFT_CONTROL + Keys.LEFT_SHIFT + 'k')
except:
pass
webdriver.quit()