[英]How to click this element using Python and Selenium?
我有以下 HTML,我必須點擊
<button aria-label="Nur Ergebnisse für Inhalte anzeigen" id="ember912" class="search-vertical-filter__filter-item-button artdeco-button artdeco-button--muted artdeco-button--2 artdeco-button--tertiary ember-view" type="button">
<!---->
<span class="artdeco-button__text">
Inhalte
</span>
</button>
id 是動態的。
我試過這樣
WebDriverWait(driver, delay).until(
EC.presence_of_element_located((By.XPATH, "//button[@aria-label='Nur Ergebnisse für Inhalte anzeigen']/button[@class='search-vertical-filter__filter-item-button artdeco-button artdeco-button--muted artdeco-button--2 artdeco-button--tertiary ember-view' and text()='Nur Ergebnisse für Inhalte anzeigen']"))).click()
像這樣
WebDriverWait(driver, delay).until(
EC.presence_of_element_located((By.XPATH, '//span[contains(text(), "Inhalte")'))).click()
像這樣
WebDriverWait(driver, delay).until(
EC.presence_of_element_located((By.XPATH, '//span[contains(text(), "Inhalte") and @class="artdeco-button__text"]'))).click()
但它不起作用,我總是得到 TimeoutException
感謝任何幫助
使用下面的 xpath 點擊元素。
WebDriverWait(driver, delay).until(EC.element_to_be_clickable((By.XPATH, "//button[@aria-label='Nur Ergebnisse fÞr Inhalte anzeigen' and contains(.,'Inhalte')]"))).click()
或者
WebDriverWait(driver, delay).until(EC.element_to_be_clickable((By.XPATH, "//button[contains(@aria-label , 'Nur Ergebnisse') and contains(.,'Inhalte')]"))).click()
注意:如果您也收到上述 xpath 的timeout exceptions
,請檢查網頁上是否存在iframe
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.