我目前正在写一个python selenium脚本来抓取"Likibu.com",这是一个提供短期住宿的网站,比如Airbnb,我已经成功地获得了所有存在于页面中的数据,并将它们保存在csv文件中,我的问题是我的程序从不停止,因为当我到达首页时,变量"href“中总是有一个值,即使(href)的值是"#",我的程序也会继续运行。所以我试图做的是,当我到达最后一页时,我的程序在抓取后立即停止,并且没有单击href = "#“,我按如下方式管理此代码:
if not driver.find_element_by_link_text('»'):
break
# Open next page
driver.find_element_by_link_text('»').click()
以下是该网页的源代码:
<ul class="pagination">
<li class="disabled"><a href="#">«</a></li>
<a class="" rel="nofollow" href="https://www.likibu.com/fr/search/39tuzgbpnycdv7tkj102g?guests=2&destination_id=4094&page=1">1</a></li>
<li><a class="" rel="nofollow" href="https://www.likibu.com/fr/search/39tuzgbpnycdv7tkj102g?guests=2&destination_id=4094&page=2">2</a></li>
<li><li class="active"><a class="" rel="nofollow" href="#">»</a></li>
发布于 2018-05-28 18:03:51
您正在检查某个元素,该元素将始终显示。所以它正走向无限循环。您可以检查href属性是否等于#,如下所示。它可能会解决你的问题。
if driver.find_element_by_link_text('»').get_attribute('href') == '#':
break
# Open next page
driver.find_element_by_link_text('»').click()
发布于 2018-05-28 17:49:52
尝试如下所示
element = browser.find_element_by_id("your_element_id")
element.click()
https://stackoverflow.com/questions/50563462
复制相似问题