1. 程式人生 > 其它 >web自動化09-frame切換、多視窗切換

web自動化09-frame切換、多視窗切換

frame切換

 

1、html程式碼:
<frameset cols="25%,50%,25%">
  <frame src="a.htm">
  <frame src="b.htm">
  <frame src="c.htm">
</frameset>

上述是frame框架頁面元素
  看看展示效果:

 

 2、我們無法定位三個頁面的元素,怎麼辦呢?

  說明:在Selenium中封裝瞭如何切換frame框架的方法   方法:     1). driver.switch_to.frame(frame_reference) --> 切換到指定frame的方法                frame_reference:可以為frame框架的name、id或者定位到的frame元素       2). driver.switch_to.default_content() --> 恢復預設頁面方法   3、看需求:
開啟‘註冊例項.html’頁面,完成以下操作:  
1). 填寫主頁面的註冊資訊
2). 填寫註冊頁面A中的註冊資訊
3). 填寫註冊頁面B中的註冊資訊
    doing:
1. 完成主頁面註冊資訊;
2. 呼叫frame切換方法(switch_to.frame("myframe1"))切換到註冊使用者A框架中
3. 呼叫恢復預設頁面方法(switch_to.default_content())
4. 呼叫frame切換方法(switch_to.frame("myframe2"))切換到註冊使用者B框架中
 

多視窗切換

  說明:在HTML頁面中,當點選超連結或者按鈕時,有的會在新的視窗開啟頁面。
  1、 為什麼要切換視窗?   如果我們定位元素,操作中打開了一個新的視窗,我們如何定位到另一個視窗呢     2、如何切換視窗?     說明:在Selenium中封裝了獲取當前視窗控制代碼、獲取所有視窗控制代碼和切換到指定控制代碼視窗的方法;         控制代碼:英文handle,視窗的唯一識別碼         方法:               1). driver.current_window_handle -->      獲取當前視窗控制代碼               2). driver.window_handles -->       獲取所有視窗控制代碼                    3). driver.switch_to.window(handle) -->   切換指定控制代碼視窗         先獲取,在切換   看需求:
開啟‘註冊例項.html’頁面,完成以下操作
1). 點選‘註冊A頁面’連結
2). 在開啟的頁面中,填寫註冊資訊 

 

doing:

1. 獲取‘註冊例項.html’當前視窗控制代碼
2. 點選‘註冊例項.html’頁面中註冊A頁面
3. 獲取所有視窗控制代碼
4. 獲取註冊A頁面對應的視窗控制代碼,並切換
5. 操作註冊A頁面元素