自动化测试之iframe窗口的切换
第一個:很多同學不知道自己想要定位的元素在不在iframe中
通過下面的方式確定是不是在iframe中(有2個html、…等)
傳入參數:
1、iframe元素的name屬性(最簡單的)
driver.switch_to.frame(‘baidu’)
driver.find_element_by_xpath(‘//input[@id=“kw”]’)
2、如果iframe沒有name屬性呢? 可以根據iframe的索引(索引從0開始)
只有一個iframe,所以索引為0
driver.switch_to.frame(0)
driver.find_element_by_xpath(‘//input[@id=“kw”]’)
3、如果沒有name屬性,索引也不知道是哪一個? iframe的WebElement對象–先找到這個iframe---------用的最多
frame_el=driver.find_element_by_xpath(‘//iframe[@name=“baidu”]’)
切換到frame中
driver.switch_to.frame(frame_el)
driver.find_element_by_xpath(‘//input[@id=“kw”]’)
封裝:
iframe等待
driver.switch_to.frame()
frame_to_be_available_and_switch_to_it 智能切換
wait=WebDriverWait(driver,20)
locator=(‘xpath’,‘//iframe[@name=“baidu”]’)
wait.until(expected_conditions.frame_to_be_available_and_switch_to_it(locator))
iframe切換回主頁面和父級iframe
driver.switch_to.default_content()
#從iframe中,返回主頁面 driver.switch_to.default_content() driver.find_element_by_id('hello')在一個iframe中,如果還嵌套了另一個iframe-------了解
進入:一個一個的進,先進第一層的iframe,一層一層的進
如果出呢:一層一層的出
driver.switch_to.parent_frame()
總結
以上是生活随笔為你收集整理的自动化测试之iframe窗口的切换的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Flask项目】sqlalchemy原
- 下一篇: 自动化测试之alert弹窗的切换