2017-03-06 96 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'))