gpt4 book ai didi

python - 当 Selenium 中找不到元素时继续

转载 作者:太空宇宙 更新时间:2023-11-03 16:32:34 26 4
gpt4 key购买 nike

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.find_element_by_xpath(element_xpath))

但就像我说的,它有时会创建一个新元素,但并非总是如此,并且该元素的文本也不总是很棒的文本

因此,如果再次单击 up_key.click(),那么 AJAX 将更改元素的文本,或者保留相同的文本,或者删除该元素。每次点击 up_key.click() 时,这都是随机的。

我希望脚本继续执行up_key.click(),直到找到很棒的文本,然后它应该停止。

类似于:

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 block 包围文本

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"

关于python - 当 Selenium 中找不到元素时继续,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37483664/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com