我试图从一个网站上抓取数据,这个网站返回了跨越多个页面的搜索条件的结果……使用硒,Python上的精美汤。第一页很容易阅读。移动到下一页需要点击'>‘按钮。该元素如下所示:
<a href ng-click="selectPage(page + 1, $event)" class="ng-binding">Next 我尝试了以下几种方法:
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页。
发布于 2019-05-25 04:40:08
在Chrome中,如果你右击页面,在上下文菜单中会有一个名为"inspect“的选项。单击它并在html中找到该元素。找到它后,右键单击它,然后转到Copy > Copy XPath。然后,您可以使用browser.find_element_by_xpath方法将该元素分配给变量。然后,您可以使用element.click()单击它。
发布于 2019-05-25 04:41:04
好吧,为什么你没有提供URL,我将展示一个例子来解决这个问题。
我认为这个按钮有一个ID,但是你可以通过一个类来查找,等等。
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 ...https://stackoverflow.com/questions/56299105
复制相似问题