我试图找到一个元素from this,它是一个按钮,但是我找不到该元素。我尝试通过class_name
,xpath
,id
进行查找,但似乎都没有结果
selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element:
<button class="dates_head commo_btn">
<!-- react-text: 175 -->
09
<!-- /react-text -->
<!-- react-text: 176 -->
<!-- /react-text -->
<!-- react-text: 177 -->
MON
<!-- /react-text -->
</button>
xpath值应该是唯一的,但仍然找不到元素
我在Fedora 29上使用Python 3.7.2,Selenium 3.141.0,chromedriver 2.40 任何有关如何解决此问题的帮助将不胜感激。谢谢。
答案 0 :(得分:0)
要单击react元素,您需要诱导 WebDriverWait 和 element_to_be_clickable()
使用以下xpath定位器策略。
WebDriverWait(driver,20).until(EC.element_to_be_clickable((By.XPATH,"//button[@class='dates_head commo_btn'][contains(.,'09')][contains(.,'MON')]"))).click()
您需要导入以下内容。
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
请注意,如果您仍然得到timeout error
,请检查是否有iframe
可用。