[英]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.