无法点击按钮硒

时间:2021-05-31 17:14:22

标签: python selenium xpath css-selectors

我在点击此页面上的“下一步”按钮时遇到问题:

https://www.govinfo.gov/app/collection/uscourts/district/alsd/2021/%7B%22pageSize%22%3A%22500%22%2C%22offset%22%3A%220%22%7D

我已经尝试过 xpath、css_selector 并且没有骰子。代码如下:

try:
        next_page = driver.find_element_by_xpath('//*[@id="collapseOne3578"]/div/span[1]/div/ul/li[4]')
        if next_page:   
                print('Trying to get next page')
                print(next_page)
                next_page.click()
        else:
            continue
except:
    break

我将变量放在 try 语句中,因为有些页面的结果没有超过 500,因此没有下一步按钮。如果我在语句之外定义了变量,代码就会中断。

感谢您的帮助

3 个答案:

答案 0 :(得分:1)

您使用了错误的定位器。
请试试这个:

next_page = driver.find_element_by_xpath('//li[@class="next fw-pagination-btn"]')

或者这个

next_page = driver.find_element_by_css_selector('li.next.fw-pagination-btn')

在定位元素之前不要忘记添加等待,最好是期待条件。

答案 1 :(得分:0)

试试这个:

driver.find_element_by_xpath(".//ul[@class='pagination']/li/a[text()='Next']").click()

答案 2 :(得分:0)

该元素不可见,所以我使用了:

next_page = WebDriverWait(driver,30).until(EC.element_to_be_clickable((By.XPATH,'//li[@class="next fw-pagination-btn"]')))
driver.execute_script('arguments[0].click()', next_page)

它奏效了。