gpt4 book ai didi

python - 我可以重复使用 WebDriverWait 对象吗?

转载 作者:太空狗 更新时间:2023-10-29 21:56:45 27 4
gpt4 key购买 nike

我有一个页面对象,它与 DOM 上的几个元素交互。如果我在我的页面对象初始化中创建一个 WebDriverWait 对象作为实例成员,我可以将它用于所有等待吗?

或者如果我想等待两个单独的元素,最好有两个 WebDriverWait

我遇到了一些奇怪的 TimeoutException,我想知道可能是这样。喜欢:

class MyPage(object):
def __init__(self, driver):
self.driver = driver
self.wait = WebDriverWait(driver, 10)

def get_search_box(self):
return self.wait.until(EC.presence_of_element_located('srch'))

def get_search_btn(self):
return self.wait.until(EC.presence_of_element_located('btn'))

对比:

    def get_search_btn(self):
wait = WebDriverWait(self.driver, 10)
return wait.until(EC.presence_of_element_located('btn'))

最佳答案

我想您需要的是一个可以根据需要重复使用的函数。例如,看看下面的函数:

def wait_for_element_to_be_visible(self, *locator):
"""Wait for an element to become visible"""
self.selenium.implicitly_wait(0)
try:
WebDriverWait(self.selenium, self.timeout).until(
lambda s: self._selenium_root.find_element(*locator).is_displayed())
except TimeoutException:
Assert.fail(TimeoutException)
finally:
self.selenium.implicitly_wait(self.testsetup.default_implicit_wait)

关于python - 我可以重复使用 WebDriverWait 对象吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31767147/

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