selenium多表單切換

2021-08-21 17:11:27 字數 1287 閱讀 6689

在 web 應用中經常會遇到 frame 巢狀頁面的應用,頁 webdriver 每次只能在乙個頁面上識別元素,對於 frame 巢狀內的頁面上的元素,直接定位是定位是定位不到的。這個時候就需要通過switch_to_frame()方法將當前定位的主體切換了 frame 裡。

#切換到 iframe(id = "if")

driver.switch_to_frame("if")

#下面就可以正常的操作元素了

driver.find_element_by_id("kw").send_keys("selenium")

driver.find_element_by_id("su").click()

time.sleep(3)

driver.quit()

switch_to_frame() 預設可以直接取表單的 id 或 name 屬性進行切換。如 

#id = "if"

driver.switch_to_frame("if")

#name = "nf"

driver.switch_to_frame("nf")

……

那麼如果 iframe 沒有可用的 id 和 name 可以通過下面的方式進行定位:

……

#先通過 xpth 定位到 iframe

xf = driver.find_element_by_xpath('//*[@class="if"]')

#再將定位物件傳給 switch_to_frame()方法

driver.switch_to_frame(xf)

……driver.switch_to_default_content()

如果完成了在當前表單上的操作可以通過 switch_to_default_content()方法返回到上一層表單。該方法不用指定某個表單的返回,預設對應與它最近的 switch_to_frame()方法。

selenium多表單切換

在web頁面中經常使用frame iframe表單巢狀頁面的應用,webdriver只能在乙個頁面上定位元素,對於frame iframe這樣的內嵌式頁面,webdriver無法直接定位到相應的元素,需要通過switch to.frame 方法將目前定位的主體切換到frame iframe表單的內嵌...

selenium 操作多表單切換

1.頁面中巢狀了iframe後,iframe中的元素無法定位到,可通過selenium中 driver.switch to.frame 切換到iframe中,再進行定位元素,2.切到iframe中後,可通過 driver.switch to.parent frame 切到上一層表單,也可通過 dri...

多表單切換 frame iframe切換

1.進入frame driver driver.get url driver.switch to.frame if 也可使用f12 copyxpath,把定位物件傳給方法driver.find element by id 即可定位之前定位不到的元素 2.回到上一層框架 driver.switch t...