gpt4 book ai didi

python - 函数没有等待预定的时间 - Python Selenium

转载 作者:行者123 更新时间:2023-12-01 09:14:26 26 4
gpt4 key购买 nike

我有一个函数,它根据 xpath 返回元素。

DEFAULT_WAIT_TIME_SEC = 10
def wait_for_element_by_xpath(self, xpath,
wait_time=DEFAULT_WAIT_TIME_SEC):
print ("wait_time")
print (wait_time)
result = self.driver.find_element(By.XPATH, xpath)
wait = WebDriverWait(self.driver, wait_time)
wait.until(EC.element_to_be_clickable((By.XPATH, xpath)))
return self.driver.find_element(By.XPATH, xpath)

我特意将默认超时时间保留为 10 秒。

        timeValue = "//span[contains(text(),'online Time')]"
self.wait_for_element_by_xpath(timeValue, 70)

我已经为这个特定的调用花费了 70 秒来等待元素出现在屏幕上。但是当我运行测试时,它只等待 10 秒并抛出 NoSuchElementException。

我特意在函数中打印了 wait_time 来检查它选择的时间是默认时间还是我给定的时间(70 秒)。

wait_time 打印 70。

那么为什么它在 10 秒后抛出异常而不是等待预期的 70 秒?

最佳答案

您应该从函数定义中删除 result = self.driver.find_element(By.XPATH, xpath) 行。尝试下面的代码:

DEFAULT_WAIT_TIME_SEC = 10
def wait_for_element_by_xpath(self, xpath,
wait_time=DEFAULT_WAIT_TIME_SEC):
print ("wait_time is %s" % wait_time)
wait = WebDriverWait(self.driver, wait_time)
element = wait.until(EC.element_to_be_clickable((By.XPATH, xpath)))
return element

关于python - 函数没有等待预定的时间 - Python Selenium,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51379181/

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