1. 程式人生 > >python+selenium:iframe框架中多種定位

python+selenium:iframe框架中多種定位

方法一:通過索引,id,name,WebElement定位

from selenium import webdriver
driver = webdriver.Firefox()
driver.switch_to.frame(0) # 1.用frame的index來定位,第一個是0
# driver.switch_to.frame("frame1") # 2.用id來定位
# driver.switch_to.frame("myframe") # 3.用name來定位
# driver.switch_to.frame(driver.find_element_by_tag_name("iframe")) # 4.用WebElement物件來定位

 

方法二:用xpath定位,傳入WebElement物件:

    iframe=driver.find_element_by_xpath('//*[@id="bjui-navtab"]/div[3]/div/iframe')

driver.switch_to_frame(iframe)


方法三:從主文件切到frame2,一層層切進去

driver.switch_to.frame("frame1")
driver.switch_to.frame("frame2")

從frame2再切回frame1,這裡selenium給我們提供了一個方法能夠從子frame切回到父frame,而不用我們切回主文件再切進來。


driver.switch_to.parent_frame() # 如果當前已是主文件,則無效果

方法四:切到frame中之後,我們便不能繼續操作主文件的元素,這時如果想操作主文件內容,則需切回主文件。

driver.switch_to.default_content()