up_key.click()
item = WebDriverWait(driver, 5).until(lambda driver: driver.find_element_by_xpath(element_xpath))
if item.text == 'awesome text':
driver.quit()
up_key.click()
点击网站上的关键图像,它有时会在网页中显示AJAX中的新元素。我试图得到的新元素:
item = WebDriverWait(driver, 5).until(lambda driver: driver.find_element_by_xpath(element_xpath))
但就像我说它有时创造了一个新元素但并不总是,并且该元素的文本也不总是awesome text
。
因此,如果up_key.click()
再次单击,则AJAX将更改元素的文本,或保留相同的文本,或删除元素。 up_key.click()
点击时,这是每次随机。
我希望脚本继续执行up_key.click()
,直到它找到awesome text
然后它应该停止。
类似的东西:
item = WebDriverWait(driver, 5).until(lambda driver: driver.find_elements_by_xpath(element_xpath))
while item.text != 'awesome text':
up_key.click()
item = WebDriverWait(driver, 5).until(lambda driver: driver.find_elements_by_xpath(element_xpath))
答案 0 :(得分:1)
要执行此操作,您必须使用try块
包围文本while True:
try:
up_key.click()
item = WebDriverWait(driver, 5).until(lambda driver: driver.find_element_by_xpath(element_xpath))
if item.text != 'awesome text':
continue
driver.close()
except:
print "Not found"