find_element_by_xpath与XPath表达式
.//*[contains(text(),'txt')]一起使用,以查找包含
txt为文本的元素。
browser.find_element_by_xpath( ".//*[contains(text(), '15 Minute Stream Flow data: USGS (FIFE)')]").click()
更新
某些内容在文档加载后加载。我修改了代码以尝试10次(两次之间睡眠1秒)。
import timefrom selenium import webdriverfrom selenium.webdriver.common.keys import Keysfrom selenium.common.exceptions import NoSuchElementExceptionbrowser = webdriver.Firefox()url = 'http://reverb.echo.nasa.gov/reverb/'browser.get(url)for i in range(10): try: browser.find_element_by_xpath( ".//*[contains(text(), '15 Minute Stream Flow data: USGS (FIFE)')]" ).click() break except NoSuchElementException as e: print('Retry in 1 second') time.sleep(1)else: raise e


