首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >selenium python link_text.click()

selenium python link_text.click()
EN

Stack Overflow用户
提问于 2018-05-28 17:46:08
回答 2查看 122关注 0票数 0

我目前正在写一个python selenium脚本来抓取"Likibu.com",这是一个提供短期住宿的网站,比如Airbnb,我已经成功地获得了所有存在于页面中的数据,并将它们保存在csv文件中,我的问题是我的程序从不停止,因为当我到达首页时,变量"href“中总是有一个值,即使(href)的值是"#",我的程序也会继续运行。所以我试图做的是,当我到达最后一页时,我的程序在抓取后立即停止,并且没有单击href = "#“,我按如下方式管理此代码:

代码语言:javascript
复制
if not driver.find_element_by_link_text('»'):
       break
 # Open next page
 driver.find_element_by_link_text('»').click()

以下是该网页的源代码:

代码语言:javascript
复制
<ul class="pagination">
<li class="disabled"><a href="#">«</a></li>
<a class="" rel="nofollow" href="https://www.likibu.com/fr/search/39tuzgbpnycdv7tkj102g?guests=2&amp;destination_id=4094&amp;page=1">1</a></li>
<li><a class="" rel="nofollow" href="https://www.likibu.com/fr/search/39tuzgbpnycdv7tkj102g?guests=2&amp;destination_id=4094&amp;page=2">2</a></li>
<li><li class="active"><a class="" rel="nofollow" href="#">»</a></li>

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-05-28 18:03:51

您正在检查某个元素,该元素将始终显示。所以它正走向无限循环。您可以检查href属性是否等于#,如下所示。它可能会解决你的问题。

代码语言:javascript
复制
if driver.find_element_by_link_text('»').get_attribute('href') == '#':
       break
 # Open next page
 driver.find_element_by_link_text('»').click()
票数 0
EN

Stack Overflow用户

发布于 2018-05-28 17:49:52

尝试如下所示

代码语言:javascript
复制
element = browser.find_element_by_id("your_element_id")
element.click()
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50563462

复制
相关文章

相似问题

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