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

How to disable JavaScript in PhantomJS through Selenium WebDriver

本文关键字:JavaScript PhantomJS 何通过 Selenium WebDriver      更新时间:2023-09-26

我想在使用scrapy和selenium抓取时禁用JavaScript。这样做的目的是为了提高刮痧速度。我发现火狐驱动程序的偏好,而不是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做到这一点?

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)

如果站点不需要JavaScript,就单独使用scrapy。不需要硒。Scrapy对于非JavaScript页面非常快。