2017-01-15 5 views
2

Есть ли способ отправить ключ F12 перед загрузкой URL-адреса с помощью Selenium Chromedriver в python? Любое предложение было бы действительно полезно для моего проекта.Как отправить ключи перед загрузкой URL-адреса в Selenium Chromedriver?

+0

Да, я также узнал, что даже если мы откроем devtools, он будет закрыт, как только будет выполнена какая-то операция с Chromedriver. В любом случае спасибо за ваши ответы. Я действительно пытался загрузить HAR с вкладки Network из devtools этим методом, так как BrowserMobProxy не совместим с QUIC, SPDY и https://github.com/cyrus-and/chrome-har-capturer, имеет немного проблем, которые мне нужны для загрузки видеороликов HAR для Youtube неизвестной продолжительности и chrome-har-capturer еще нет этой функции. Поэтому, если кто-нибудь знает, как это сделать, ответьте, потому что я долго задерживаюсь на этом. –

ответ

1

Вы можете отправить ключевые штрихи в тег body независимо от того, на какой странице вы находитесь. Так просто отправить ключ перед тем навигации (в C#):

driver.FindElement(By.TagName("body")).SendKeys(Keys.F12); 

Другой вариант заключается в использовании Actions класс:

Actions action = new Actions(driver); 
action.SendKeys(Keys.F12).Perform(); 
+0

SendKeys не работает для меня с клавишами F или ESC, например. Для струн он работает. –

1

сам Chromedriver использует DevTools так в Devtools сами по себе не могут быть открыты при использовании селена. Даже если вы получите их открыть с F12 они будут сразу же близко, как только вы выполнить действие с селеном + chromedriver

1

Существует один альтернативное решение послать ключи 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.