如何通过Selenium WebDriver在PhantomJS中禁用JavaScript

时间:2015-08-20 10:23:17

标签: javascript python selenium-webdriver phantomjs

我想在使用scrapy和selenium进行刮擦时禁用JavaScript。 这样做的动机是提高刮削速度。我发现了对Firefox驱动程序的偏好,但没有找到PhantomJS。

firefox_profile = webdriver.FirefoxProfile()
firefox_profile.set_preference("javascript.enabled", False)

driver = webdriver.Firefox(firefox_profile=firefox_profile)
driver.get('http://www.quora.com/')

如何为PhantomJS webdriver做到这一点?

2 个答案:

答案 0 :(得分:7)

PhantomJS中的WebDriver协议是一个纯JavaScript实现,称为Ghostdriver。它大量使用page.evaluate()来访问DOM,实际上没有其他方法可以访问DOM,与页面交互或使用PhantomJS做任何有意义的事情。你不应该这样做。

如果您仍想继续使用它,这应该有效:

cap = webdriver.DesiredCapabilities.PHANTOMJS
cap["phantomjs.page.settings.javascriptEnabled"] = False
driver = webdriver.PhantomJS(desired_capabilities=cap)

答案 1 :(得分:0)

如果该网站不需要JavaScript,只需单独使用scrapy即可。不需要硒。对于非JavaScript页面,Scrapy非常快。