Webdriver处理嵌入的iframe

测一个登录功能的时候,死活无法直接定位到元素,查看源代码发现存在一个嵌入的iframe,而我需要定位的元素正好在嵌入的iframe中

<iframe allowtransparency="true" src="https://account.xxx.com/#/login/embed?origin=http://test.xxx.com" frameborder="0" style="display: block;"></iframe>

解决办法:
先定位到这个iframe,切换到这个iframe,然后再在ifame中取元素

loginFrame = self.driver.find_element_by_xpath("//iframe[@allowtransparency='true']")
self.driver.switch_to.frame(loginFrame)
self.driver.find_element_by_name("username")

你可能感兴趣的:(Webdriver处理嵌入的iframe)