如果您有WebElement对象,则可以像这样搜索其子项
element = WebElement(blah...)
element.find_element_by_id('blah')
是否可以使用显式等待执行相同的操作,如
wait = WebDriverWait(self.driver, self.timeout)
element = wait.until(expectedCondition(locator))
因此,如何指定显式等待只搜索元素的子元素,而不是搜索整个DOM?
答案 0 :(得分:2)
使用python,until
实际上只是针对传递的驱动程序调用该方法。因此,以及大多数驱动程序方法也是webelement方法的事实,您实际上可以将webelement作为'驱动程序'到WebDriverWait。
所以对你的例子来说:
wait = WebDriverWait(webelement, self.timeout)
element = wait.until(expectedCondition(locator))
或者,您可以使用lambda:
wait = WebDriverWait(self.driver, self.timeout)
element = wait.until(lambda d: webelement.find_element_by_id('blah'))