use*_*831 4 python selenium xpath
我试图用python selenium点击这一整天没有运气,尝试了几个选择器,xpath ..似乎没有什么对我有用.这是我尝试点击的元素:
<span style="vertical-align: middle;">No</span>
Run Code Online (Sandbox Code Playgroud)
这是我明显的非功能代码
driver.find_element_by_link_text("No")
Run Code Online (Sandbox Code Playgroud)
And*_*son 10
通过链接文本搜索只有在您span是锚标记的子项时才能帮助您,例如<a><span style="vertical-align: middle;">No</span></a>.当你试图点击它时,我相信它真的在一个锚点内,但如果不是,我建议你使用XPath谓词,True只有当精确的文本内容匹配时才会返回:
//span[text()="No"]
Run Code Online (Sandbox Code Playgroud)
请注意,这//span[contains(text(), "No")]是非常不可靠的解决方案,因为它将返回span带有文本的元素
等等...
如果你得到NoSuchElementException你可能需要等待元素出现在DOM:
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait as wait
wait(driver, 10).until(EC.element_to_be_clickable((By.XPATH, "//span[text()='No']"))).click()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8435 次 |
| 最近记录: |