繁体   English   中英

Selenium 找不到 xpath 或 css 选择器

[英]Selenium can't find xpath or css selector

我正在尝试抓取这个有分页的网站。 我面临的问题是让 selenium 找到下一个按钮。

我试过的:

next_button = driver.find_element_by_css_selector(
    'ul[class="css-12ke8jn e65zztl0"] button[aria-label="Next"]').click()

page_amount = driver.find_element_by_css_selector(
    '/html/body/div[1]/div[2]/div/div/div/div[2]/div[1]/main/div[3]/div/div[2]/div[2]/nav/ul/button').click()

这些都不起作用,我有点卡住了。 我为第一个使用ARIA-LABEL的原因是因为选择下一个按钮时,上一个按钮更改为同一ZA2F2ED4F8EBC2CBB4C21A21A29DC40AB61DZ作为下一个按钮。 注意:按钮在 ul 中。

它可能无法找到元素,因为它在 UI 中不可见 - 它已加载但不可见,最简单的方法是移动到该元素并单击它。

next_button = driver.find_element_by_css_selector('[aria-label=\'Next\']')
actions = ActionChains(driver)
actions.move_to_element(next_button).perform()
next_button.click()

next_button = driver.find_element_by_xpath('//button[@class="css-1lkjxdl eanm77i0"]').click()

您正在使用 xpath 变量并通过 css 找到它。 对于 css 选择器,您必须使用 class (.css-1lkjxdl) 并使用上面的代码它将工作并接受答案。 谢谢!!

aria-label是一个属性,而不是一个元素。

您的 xpath 应固定如下:

button[@aria-label="Next"]

要在页面的任何位置找到此按钮,您可以尝试:

//button[@aria-label="Next"]

然后,您可以尝试:

button = driver.find_element_by_xpath('//button[@aria-label="Next"]')

暂无
暂无

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

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