栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Selenium Python-访问搜索结果的下一页

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Selenium Python-访问搜索结果的下一页

问题是具有id的element的值

total_results
在页面加载后发生变化,首先包含
117
,然后变为
44

相反,这是一种更可靠的方法。它逐页处理,直到没有剩余的页面了:

from selenium import webdriverfrom selenium.common.exceptions import NoSuchElementExceptiondriver = webdriver.Firefox()url = 'http://www.nice.org.uk/Search.do?searchText=bevacizumab&newsearch=true#/search/?searchText=bevacizumab&mode=&staticTitle=false&SEARCHTYPE_all2=true&SEARCHTYPE_all1=&SEARCHTYPE=GUIDANCE&TOPICLVL0_all2=true&TOPICLVL0_all1=&HIDEFILTER=TOPICLVL1&HIDEFILTER=TOPICLVL2&TREATMENTS_all2=true&TREATMENTS_all1=&GUIDANCETYPE_all2=true&GUIDANCETYPE_all1=&STATUS_all2=true&STATUS_all1=&HIDEFILTER=EGAPREFERENCE&HIDEFILTER=TOPICLVL3&DATEFILTER_ALL=ALL&DATEFILTER_PREV=ALL&custom_date_from=&custom_date_to=11-06-2014&PAGINATIonURL=%2FSearch.do%3FsearchText%40%40bevacizumab%26newsearch%40%40true%26page%40%40&SORTORDER=BESTMATCH'driver.get(url)page_number = 1while True:    try:        link = driver.find_element_by_link_text(str(page_number))    except NoSuchElementException:        break    link.click()    print driver.current_url    page_number += 1

基本上,这里的想法是获取下一页链接,直到没有此类链接(

NoSuchElementException
将被抛出)。请注意,它适用于任意数量的页面和结果。

它打印:

http://www.nice.org.uk/Search.do?searchText=bevacizumab&newsearch=true&page=1http://www.nice.org.uk/Search.do?searchText=bevacizumab&newsearch=true&page=2#showfilterhttp://www.nice.org.uk/Search.do?searchText=bevacizumab&newsearch=true&page=3#showfilterhttp://www.nice.org.uk/Search.do?searchText=bevacizumab&newsearch=true&page=4#showfilterhttp://www.nice.org.uk/Search.do?searchText=bevacizumab&newsearch=true&page=5#showfilter


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/409584.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号