首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用chrome的webdriver点击节点/角度脚本生成的‘下一页’按钮?

如何使用chrome的webdriver点击节点/角度脚本生成的‘下一页’按钮?
EN

Stack Overflow用户
提问于 2019-05-25 04:22:10
回答 2查看 167关注 0票数 1

我试图从一个网站上抓取数据,这个网站返回了跨越多个页面的搜索条件的结果……使用硒,Python上的精美汤。第一页很容易阅读。移动到下一页需要点击'>‘按钮。该元素如下所示:

代码语言:javascript
复制
<a href ng-click="selectPage(page + 1, $event)" class="ng-binding">Next 

我尝试了以下几种方法:

代码语言:javascript
复制
browser = webdriver.Chrome()
browser.get ("https:www....com/search/?lat=dfdfd  ")
page = browser.page_source
soup = BeautifulSoup(page, 'html.parser')
# scraping the first page
#now need to click on the ">" , so that it can take me to the next page

控件应转到下一页,以便我可以抓取。这些结果大约有250页。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-05-25 04:40:08

在Chrome中,如果你右击页面,在上下文菜单中会有一个名为"inspect“的选项。单击它并在html中找到该元素。找到它后,右键单击它,然后转到Copy > Copy XPath。然后,您可以使用browser.find_element_by_xpath方法将该元素分配给变量。然后,您可以使用element.click()单击它。

票数 0
EN

Stack Overflow用户

发布于 2019-05-25 04:41:04

好吧,为什么你没有提供URL,我将展示一个例子来解决这个问题。

我认为这个按钮有一个ID,但是你可以通过一个类来查找,等等。

代码语言:javascript
复制
from bs4 import BeautifulSoup
from selenium.webdriver import Chrome
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

browser = Chrome()
browser.get("https:www....com/search/?lat=dfdfd  ")
page = browser.page_source
soup = BeautifulSoup(page, 'html.parser')

wait = WebDriverWait(browser, 30)
wait.until(EC.visibility_of_element_located((By.ID, 'next-button')))
# Next page
browser.find_element_by_id('next-button').click()

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

https://stackoverflow.com/questions/56299105

复制
相关文章

相似问题

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