首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >selenium与python web爬虫

selenium与python web爬虫
EN

Stack Overflow用户
提问于 2013-01-25 13:40:03
回答 2查看 4.8K关注 0票数 1

我想屏幕抓取有多个页面的网站。这些页面在不更改URL的情况下动态加载。因此,我使用selenium对其进行筛选。但是对于这个简单的程序,我得到了一个例外。

代码语言:javascript
复制
import re
from contextlib import closing
from selenium.webdriver import Firefox 

url="http://www.samsung.com/in/consumer/mobile-phone/mobile-phone/smartphone/"

with closing(Firefox()) as browser:
    n = 2
    link = browser.find_element_by_link_text(str(n))
    link.click()
    #web_page=browser.page_source
    #print type(web_page)

错误如下

代码语言:javascript
复制
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.NoSuchElementException: Message: u'Unable to locate element: {"method":"link text","selector":"2"}' ; Stacktrace: Method FirefoxDriver.prototype.findElementInternal_ threw an error in file:///tmp/tmpMJeeTr/extensions/fxdriver@googlecode.com/components/driver_component.js 

是给定的url有问题,还是firefox浏览器有问题。如果有人帮我的话那就太好了。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-01-25 14:38:37

代码语言:javascript
复制
browser.implicitly_wait(10)
n = 2
link = browser.find_element_by_link_text(str(n))
link.click()
#web_page=browser.page_source
#print type(web_page)
票数 1
EN

Stack Overflow用户

发布于 2013-05-06 03:11:01

我正在开发一个python模块,它可能会覆盖您(或其他人)的用例:

https://github.com/cmwslw/selenium-crawler

它将记录的selenium脚本转换为爬行函数,从而避免编写上述任何代码。它可以很好地处理动态加载内容的页面。我希望有人会觉得这很有用。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14516014

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档