有没有办法使用python从Chrome控制台执行和读取数据?

时间:2017-10-14 21:07:48

标签: python-3.x google-chrome selenium selenium-chromedriver

我正试图找到一种从Chromes控制台读取信息的方法。我使用的网站是chrome://Dino。在控制台中,我想要执行和读取的主要命令是Runner().crashedRunner().horizon.runningTimeRunner().horizon.obstacles和其他一些简单的命令。

我尝试过使用Selenium,但我无法使用它,谷歌搜索了一段时间后,我找不到解决方案。你知道我怎么能这样做吗?

1 个答案:

答案 0 :(得分:0)

我能够使用Selenium(带有C#)来获取所有列出的信息。 'How to output result of Javascript execution to console?'给了我一个暗示。

// initialize the ChromeDriver, and get the jsExecutor
// This step may be different for Python
var chromeDriver = new ChromeDriver();
var jSExecutor = (IJavaScriptExecutor)chromeDriver;

// navigate to the page
chromeDriver.Navigate().GoToUrl("chrome://dino");

// get the values, using js command
var crashed = jSExecutor.ExecuteScript("return Runner().crashed");
var runningTime = jSExecutor.ExecuteScript("return Runner().horizon.runningTime");
var obstcles = jSExecutor.ExecuteScript("return Runner().horizon.obstacles");

// print the values
Console.WriteLine($"{crashed}, {runningTime}, {obstcles}");

一个人应该能够在Python中使用driver.execute_script来做同样的事情。

crashed = driver.execute_script('return Runner().crashed')
runningTime = driver.execute_script('return Runner().horizon.runningTime')
obstcles = driver.execute_script('return Runner().horizon.obstacles')