在Selenium / PhantomJS上执行Javascript

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Selenium / PhantomJS上执行Javascript相关的知识,希望对你有一定的参考价值。

我在Python中使用qlenxswpoi通过Selenium Webdriver,我试图在页面上执行一段javascript,希望返回一段数据:

PhantomJS

但是在运行时,它会报告from selenium import webdriver driver = webdriver.PhantomJS("phantomjs.cmd") # or add to your PATH driver.set_window_size(1024, 768) # optional driver.get('http://google.com') # EXAMPLE, not actual URL driver.save_screenshot('screen.png') # save a screenshot to disk jsres = driver.execute('$("#list").DataTable().data()') print(jsres) 。我无法找到有关可用命令的大量文档,所以我有点卡在这里。

答案

为执行javascript而创建的方法称为KeyError,而不是execute_script()

execute()

仅供参考,driver.execute_script('return $("#list").DataTable().data();') 在内部用于发送webdriver命令。

请注意,如果您想要javascript代码返回的内容,则需要使用execute()

另请注意,这可能会抛出return错误消息。在这种情况下,使用Can't find variable: $找到元素并将其传递给脚本:

selenium

以上是关于在Selenium / PhantomJS上执行Javascript的主要内容,如果未能解决你的问题,请参考以下文章

selenium在执行phantomjs的API并获取执行结果

在Python中用Selenium执行JavaScript

爬虫之动态HTML处理(Selenium与PhantomJS )执行 JavaScript 语句

Casperjs/PhantomJs vs Selenium

Selenium + Firefox到Selenium + PhantomJS [关闭]

在 Selenium 版本 3.7.0 无头驱动程序 phantomjs 版本 2.1 上启用 Cookie