Открытие 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)