通过链接文字搜索只有在您的跨度是锚标记的子项时才能帮助您,例如< a>< span style =“vertical-align:middle;”> No< / span>< / a>.当你试图点击它时,我相信它确实在一个锚点内,但如果没有,我建议你使用带有谓词的XPath,只有在精确的文本内容匹配时才返回True:
//span[text()="No"]
请注意// 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()