2017-03-06 61 views
0

如果你有WebElement对象,你可以通过它的孩子们喜欢这个明确等待元素是另一个元素

element = WebElement(blah...) 
element.find_element_by_id('blah') 

搜索的孩子是否有可能使用一个明确的等待做同样的事情,因为在

wait = WebDriverWait(self.driver, self.timeout) 
element = wait.until(expectedCondition(locator)) 

因此,而不是在整个DOM搜索,我怎么可以指定明确等待应该只搜索元素的孩子吗?

回答

0

使用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'))