如何通过Selenium WebDriver在PhantomJS中禁用JavaScript
How to disable JavaScript in PhantomJS through Selenium WebDriver
我想在使用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页面非常快。
相关文章:
- PhantomJS - 检查javascript函数是否正在运行的任何方法
- 强制PhantomJS执行JavaScript错误
- 使用PhantomJS获取body onload javascript的值
- PhantomJS not running Javascript
- 如何使用PhantomJS从页面获取动态HTML和Javascript值
- 如何在PhantomJS中分析javascript
- phantomjs - 在页面加载后执行Javascript函数,然后输出新的更改
- 更新的问题::查询选择器可能存在PhantomJS/Javascript问题
- 使用 PhantomJS 从网站读取 JavaScript 变量
- 在 PhantomJS 中使用 C# 启用 JavaScript
- eval_in_page javascript执行在firefox中有效,但在phantomjs中无效
- 如何使用phantomJS从javascript生成html
- Phantomjs检查javascript是否存在并且正在工作
- 有些奇怪的javascript代码适用于所有主流浏览器,但使用phantomjs/qunit失败了
- 我可以运行网页's在PhantomJS中的JavaScript函数
- 如何在PhantomJS中用远程javascript替换DOM节点
- PhantomJS-暂停/恢复javascript执行
- PhantomJS中解析JSON平面文件的问题(请不要jquery,原始javascript)
- 如何在Java应用程序中使用PhantomJS的JavaScript API
- 使用javascript(phantomjs)导航/抓取hashbang链接