簡體   English   中英

如何使用 Selenium 和 Python 單擊帶有文本的按鈕顯示更多結果?

[英]How to click on button with text Show more results using Selenium and Python?

對於此按鈕: 在此處輸入圖像描述

我使用了這些代碼,但它不起作用。

WebDriverWait(wd, 1).until(EC.element_to_be_clickable((By.XPATH, "//input[contains(., 'Show more results')]"))).click()

button = wd.find_elements_by_xpath("//*[contains(text(), 'My Button')]")
button.click()

你快到了。 Show more results的不是innerText而是value屬性的值。


解決方案

要單擊帶有文本作為顯示更多結果的元素,您需要為element_to_be_clickable()誘導WebDriverWait並且您可以使用以下任一定位器策略

  • 使用CSS_SELECTOR

     WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "input[value='Show more results']"))).click()
  • 使用XPATH

     WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//input[@value='Show more results']"))).click()
  • 注意:您必須添加以下導入:

     from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.common.by import By from selenium.webdriver.support import expected_conditions as EC

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM