如果在2秒钟内找不到元素,如何使驾驶员退出

时间:2019-09-04 05:11:33

标签: python python-3.x selenium selenium-webdriver settimeout

如果在特定时间内找不到该元素,如何使Web驱动程序在2秒后退出。

如果找不到元素,是否可以为驱动程序设置超时时间。

2 个答案:

答案 0 :(得分:3)

只需使用显式的硒等待,超时后它将返回TimeoutException,您可以捕获

try:
    item = WebDriverWait(self.driver,5).until(EC.presence_of_element_located((By.XPATH, "your xpath or other selector")))
except Exception as e:
    print("time is over")
    exit()
print("item was founded : ", item)

这是您需要的进口商品:

from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC 

答案 1 :(得分:0)

在这里,我发布了代码段,以等待元素出现。
这说明了如何实现这种想法。 希望这会有所帮助。

    def wait_present(self, xpath, timeout = 2):
        try:
            now = time.time()
            future = now + timeout
            while time.time() < future:
                try:
                    target = self.browser.find_element_by_xpath(xpath)
                    if target is not None:
                        return True
                except:
                    pass
            return False
        except Exception as e:
            self.log_error(str(e))(str(e))
            return False