[英]Python Selenium - Clicking Next Page
我目前正在编写一个 python selenium 脚本来获取网站的信息。
我已经以我想要的格式成功获取了第 1/100+ 页的数据。 不幸的是,我无法让程序运行并从后续页面收集所有信息。
当我查看网站目标脚本时,它显示“下一步”按钮的编译方式如下;
/body/div[@id='main-content']/div[@class='t6a-grid']/div[@class='mmargin-bottom-30']/div[@id='grid']/div[@class='row-margin-bottom-10']/div[@class='col-md-12 padding-left-0 padding-right-20']/ul[@class='pagination']/li[11]/a
我写的部分脚本如下。 脚本中的“# this is navigation to next page element”是当前不工作的区域。
def get_links(driver, target):
# this is to collect links that associate with all the profiles present in Freshfields website
driver.get(target)
# get links associated to profiles on result page
list_links = []
while True:
list_ppl_link = driver.find_elements_by_xpath('//div[@class=" mix item col-xs-6 col-sm-4"]')
for item in list_ppl_link:
emp_name_obj = item.find_element_by_tag_name('a')
emp_name = emp_name_obj.text
emp_link = emp_name_obj.get_attribute('href')
list_links.append({'emp_name':emp_name, 'emp_link':emp_link})
try:
# this is navigate to next page
driver.find_element_by_xpath('//ul[@class="pagination"]/li').click()
time.sleep(1)
except NoSuchElementException:
break
return list_links
请有人帮助我了解如何遍历页面并收集 1,960 条记录?
尝试使用以下内容:
list_ppl_link = driver.find_elements_by_xpath('//div[@class=" mix item col-xs-6 col-sm-4"]')
i=1
for item in list_ppl_link:
i=i+1
emp_name_obj = item.find_element_by_tag_name('a')
emp_name = emp_name_obj.text
emp_link = emp_name_obj.get_attribute('href')
list_links.append({'emp_name':emp_name, 'emp_link':emp_link})
try:
# this is navigate to next page
driver.find_element_by_xpath('//ul[@class="pagination"]//li/a[contains(text(),"' + str(i) +'")').click()
time.sleep(1)
except NoSuchElementException:
break
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.