Открытие inspect (нажатие F12) в Chrome через Selenium

Я могу открыть Chrome с помощью Selenium, но я не в состоянии имитировать нажатие клавиш (в частности F12, так как я хочу, чтобы открыть Осмотреть и в конечном итоге использовать мобильный браузер как так) В то время как я могу сделать это вручную т.е. открытым Chrome и нажмите F12, я хочу автоматизировать эту часть с помощью Selenium. Мой текущий код выглядит так -

from selenium import webdriver
import time
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.common.keys import Keys
options = webdriver.ChromeOptions()
options.add_argument('--ignore-certificate-errors')
options.add_argument("--test-type")
options.binary_location = "/usr/bin/chromium"
driver = webdriver.Chrome('/Users/amigo/Documents/pet_projects/selenium/chromedriver')
driver.get('https://www.google.com')
ActionChains(driver).send_keys(Keys.F12).perform()

Хотя код работает без ошибок, я не вижу, чтобы инспекция открывалась в браузере. Любые предложения и помощь приветствуются! Заранее спасибо.

2 ответа

Решение

Имитация нажатия клавиши для F12 напоминает открытие google-chrome-devtools.

Чтобы открыть google-chrome-devtools то есть chrome-browser-console вы должны использовать ChromeOptions класс, чтобы добавить аргумент --auto-open-devtools-for-tabs аргумент следующим образом:

  • Блок кода:

    from selenium import webdriver
    
    options = webdriver.ChromeOptions() 
    options.add_argument("start-maximized")
    options.add_argument("--auto-open-devtools-for-tabs")
    options.add_experimental_option("excludeSwitches", ["enable-automation"])
    options.add_experimental_option('useAutomationExtension', False)
    driver = webdriver.Chrome(options=options, executable_path=r'C:\Utility\BrowserDrivers\chromedriver.exe')
    driver.get("https://selenium.dev/documentation/en/")
    print(driver.title)
    
  • Консольный вывод:

    The Selenium Browser Automation Project :: Documentation for Selenium
    
  • Снимок консоли браузера:

Вы можете найти соответствующее обсуждение на основе java в разделе Как открыть консоль браузера Chrome через Selenium?

Поскольку я не могу добавить комментарий, просто пишу как новый ответ для других. Только что попробовал это с последним драйвером Chrome (100.0.4896) и Python 3.7 - следующее тоже работает.

      from selenium import webdriver
options = webdriver.ChromeOptions() 
options.add_argument("--auto-open-devtools-for-tabs")

driver = webdriver.Chrome(ChromeDriverManager().install(), options=options)
home_page_url = "https://stackoverflow.com/"
driver.get(home_page_url)
Другие вопросы по тегам