繁体   English   中英

如何单击 selenium python 中的页面链接

[英]How to click page link in selenium python

我正在尝试在此页面上获取数据。 如您所见,有5个页面,我想一一点击这些链接,然后获取表格的数据。 但我无法转到下一页。 我的代码如下所示。

page_counts = len(driver.find_elements_by_xpath("//tr[@class='pagerRow']/td/table/tbody/tr/td"))
next_page_no = 2
while True:
    ... 
    try:
       element = driver.find_element_by_xpath("//tr[@class='pagerRow']/td/table/tbody/tr/td[" + str(next_page_no) + "]/a")
       driver.execute_script("arguments[0].click();", element)
       next_page_no += 1
       time.sleep(2)
    except:
       break

如何单击每个页面的链接? 任何帮助表示赞赏。

好吧,我还没有测试过,但是在这一行之后: element = driver.find_element_by_xpath("//tr[@class='pagerRow']/td/table/tbody/tr/td[" + str(next_page_no) + "]/a")

如果您找到的元素是可点击的,您应该能够使用element.click()方法。

演示

import time

from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains

driver = webdriver.Chrome()
driver.get('https://eproperty.casey.vic.gov.au/T1PRProd/WebApps/eProperty/P1/eTrack/eTrackApplicationSearchResults.aspx?Field=S&Period=TM&r=P1.WEBGUEST&f=%24P1.ETR.SEARCH.STM')

current_page = 1
while True:
    pager = driver.find_element_by_css_selector('tr.pagerRow')
    links = pager.find_elements_by_xpath(f"//a[text()='{current_page+1}']")
    if not links:
        break

    a = links[0]
    ActionChains(driver).move_to_element(a).perform()
    a.click()
    time.sleep(5)
    current_page += 1

driver.quit()


暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM