如何在firefox python selenium中打开控制台?

时间:2015-11-05 14:19:12

标签: python firefox selenium firefox-developer-tools

我试图通过Selenium用Python打开firefox控制台。如何用python selenium打开firefox控制台?是否可以将密钥发送给驱动程序或类似的东西?

6 个答案:

答案 0 :(得分:5)

尝试模拟与"常规"相同的程序。使用send_keys函数的firefox窗口:

from selenium.webdriver.common.keys import Keys
driver.find_element_by_tag_name('body').send_keys(Keys.CONTROL + Keys.SHIFT + 'k')

答案 1 :(得分:3)

我知道这是比较古老的,但是最近我遇到了这个问题。我让firefox通过传入浏览器进程参数“ -devtools”来自动打开devtools。

硒:3.14 壁虎:0.21.0 Firefox: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()

答案 2 :(得分:2)

我没有安装firebug,这适用于Macos:

from selenium.webdriver.common.keys import Keys
driver.find_element_by_tag_name("body").send_keys(Keys.COMMAND + Keys.ALT + 'k')

答案 3 :(得分:1)

在Firefox 60+中,您需要使用chrome上下文(CONTEXT_CHROME)并选择一些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()

答案 4 :(得分:0)

这有效:

ActionChains(驱动程序).key_down(Keys.F12).key_up(Keys.F12).perform()

至少没有安装firebug:)

答案 5 :(得分:0)

在Firefox上访问开发者控制台

array_key_exists()