扫码关注官方订阅号
认证0级讲师
我最近也遇到,我认为是动态js还没解析,所以没获取到网页代码。异常是NoSuchElementException,很明显了。
还有一种可能,是由于phantomjs属于headless browser,是没有窗口的,那么可能所有元素都没有绘制。所以这时候你find任何元素都是NoSuchElementException异常。可以尝试如下步骤:
browser = webdriver.PhantomJS() browser.set_window_size(800, 600) # set browser size. browser.get("http\:example.com") # Load page
参考:https://github.com/ariya/phantomjs/issues/11637
自己回答一下吧。 在stackoverflow上找到了一个解决方法。 屏蔽掉css,图片和js,以提高速度。 虽然PhantomJS还是不能用,但是确实速度变快了,目的达到就好。
firefox_profile = webdriver.FirefoxProfile() firefox_profile.set_preference("browser.download.folderList", 2) firefox_profile.set_preference("permissions.default.stylesheet", 2) firefox_profile.set_preference("permissions.default.image", 2) firefox_profile.set_preference("javascript.enable", False) browser = webdriver.Firefox(firefox_profile=firefox_profile)
http://stackoverflow.com/questions/20892768/how-to-speed-up-browsing-in-selenium-firefoxhttp://stackoverflow.com/questions/17462884/is-selenium-slow-or-is-my-code-wrong
这样的话,岂不是js也无法解析了,为什么不用其他的更快的工具呢?
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
我最近也遇到,我认为是动态js还没解析,所以没获取到网页代码。异常是NoSuchElementException,很明显了。
还有一种可能,是由于phantomjs属于headless browser,是没有窗口的,那么可能所有元素都没有绘制。所以这时候你find任何元素都是NoSuchElementException异常。
可以尝试如下步骤:
参考:https://github.com/ariya/phantomjs/issues/11637
自己回答一下吧。
在stackoverflow上找到了一个解决方法。
屏蔽掉css,图片和js,以提高速度。
虽然PhantomJS还是不能用,但是确实速度变快了,目的达到就好。
http://stackoverflow.com/questions/20892768/how-to-speed-up-browsing-in-selenium-firefox
http://stackoverflow.com/questions/17462884/is-selenium-slow-or-is-my-code-wrong
这样的话,岂不是js也无法解析了,为什么不用其他的更快的工具呢?