簡體   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