Есть ли способ отправить ключ F12 перед загрузкой URL-адреса с помощью Selenium Chromedriver в python? Любое предложение было бы действительно полезно для моего проекта.Как отправить ключи перед загрузкой URL-адреса в Selenium Chromedriver?
ответ
Вы можете отправить ключевые штрихи в тег body
независимо от того, на какой странице вы находитесь. Так просто отправить ключ перед тем навигации (в C#):
driver.FindElement(By.TagName("body")).SendKeys(Keys.F12);
Другой вариант заключается в использовании Actions
класс:
Actions action = new Actions(driver);
action.SendKeys(Keys.F12).Perform();
SendKeys не работает для меня с клавишами F или ESC, например. Для струн он работает. –
сам Chromedriver использует DevTools так в Devtools сами по себе не могут быть открыты при использовании селена. Даже если вы получите их открыть с F12 они будут сразу же близко, как только вы выполнить действие с селеном + chromedriver
Существует один альтернативное решение послать ключи f12
перед открытием URL-адрес
Использование Robot
класса (в Java) в этом
driver =new ChromeDriver();
Robot robot = new Robot();
robot.keyPress(KeyEvent.VK_F12);
robot.delay(2000);
driver.get(your_Site_URL);
Он пошлет F12
ключей, но инструмент разработчика закроется на следующей странице визите.
Если вы хотите, чтобы инструмент разработчика оставался открытым, что невозможно Для справки see this.
Да, я также узнал, что даже если мы откроем devtools, он будет закрыт, как только будет выполнена какая-то операция с Chromedriver. В любом случае спасибо за ваши ответы. Я действительно пытался загрузить HAR с вкладки Network из devtools этим методом, так как BrowserMobProxy не совместим с QUIC, SPDY и https://github.com/cyrus-and/chrome-har-capturer, имеет немного проблем, которые мне нужны для загрузки видеороликов HAR для Youtube неизвестной продолжительности и chrome-har-capturer еще нет этой функции. Поэтому, если кто-нибудь знает, как это сделать, ответьте, потому что я долго задерживаюсь на этом. –