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

标签 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 完成此操作?

最佳答案

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

如果您仍然想完成它,这应该可行:

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

关于javascript - 如何通过 Selenium WebDriver 在 PhantomJS 中禁用 JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32115673/

相关文章:

python-3.x - python Selenium : How to hide geckodriver?

java - 无法选择唯一的定位器来单击元素 - selenium java krypton

javascript - 在 Html 应用程序中,使用 javascript,如何获取图像在屏幕上的位置并将其放入文本文档中?

javascript - 在对 AngularJS Controller 进行单元测试时如何模拟网络延迟?

python - Gmail 推送通知 Python API

python - 无法使用 Django Haystack : 'Connection refused' 重建索引 elasticsearch

c# - 如何在 C# 中实现 WebDriverEventListener?

javascript - 如何向 d3.js 饼图或圆环图添加阴影

javascript - 如何在requirejs中声明模块已经同步加载

python - 如果第一个字符是 'a',如何在python中立即退出循环并显示消息