首页 > 解决方案 > 如何使用xpath点击下一页

问题描述

from selenium import webdriver
from bs4 import BeautifulSoup as bs
import time

url = 'http://dciindia.gov.in/DentistsSearch.aspx?Reg_Type=D&RegUnder=0&IDRId=&IDRName=&CourseId=0&RegDate=0&CouncilId='

driver = webdriver.Chrome('C:\chromedriver.exe')
driver.get(url)
driver.maximize_window()

soup = bs(driver.page_source, 'html.parser')
table = soup.find('table',{'id':'gvSearchDentistlist'})

next_page = True
while next_page == True:
    soup = bs(driver.page_source, 'html.parser')
    table = soup.find('table',{'id':'gvSearchDentistlist'})
    try:
        rows = table.find_all('tr')
        for row in rows:
            if len(row.find_all('td')) == 6:
                data = row.find_all('td')
                name = data[1].text.strip()
                print("NAME:"+name)
                root_url = data[5].input['onclick'].split(",")[4]
                link ='http://dciindia.gov.in/'+root_url
                print("LINK:"+link)
    except:
        pass
    try:
        driver.find_element_by_xpath('//*[@id="gvSearchDentistlist"]/tbody/tr[52]/td/table/tbody/tr/td[1]').click()
        time.sleep(1)
    except:
        print ('No more pages')
        next_page=False

driver.close()

我无法点击下一页。我不知道最后一页,也没有“下一步”按钮可以点击,页面被指定为 1,2,3.. 等等。

标签: pythonpython-3.xselenium-webdriverselenium-chromedriver

解决方案


我打开网站 http://dciindia.gov.in/DentistsSearch.aspx?Reg_Type=D&RegUnder=0&IDRId=&IDRName=&CourseId=0&RegDate=0&CouncilId=

发现页面记录了总数,

地点

你只需要一些数学知识。然后获取总页码。

你可以用这种方式调整有没有下一页?


推荐阅读