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))
为此,您必须使用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"
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句