在Selenium / PhantomJS上执行Javascript

问题描述 投票:5回答:1

我在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 python selenium selenium-webdriver phantomjs
1个回答
8
投票

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

execute()

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

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

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

selenium
© www.soinside.com 2019 - 2024. All rights reserved.