selenium自動化實例: 多層框架中關於iframe的定位,以及select下拉框選擇

   對於一個自動化的初學者來講會很常見的遇到元素明明存在卻始終定位不到,web

從而致使腳本報錯,固然定位不到元素的緣由不少,框架

其中一種就是多層框架iframe致使的ui

下方截圖示意:spa

下方爲寫腳本時候的示例並其中還包含了下拉框定位問題orm

惜陽在開始寫此模塊自動化的時候,想要定位「審覈狀態「的下拉框但沒有注意到iframe問題,致使報錯報的本身都懷疑人生blog

  

後來才發現還有iframe,因而正確代碼以下:element

 

 #首先進入要操做的iframe模塊iframe

iframe=driver.find_element_by_xpath("//div[@class='main_right_wrap']/iframe")

 #以後用switch_to.frame()就能夠了:selenium

#注意:這裏在網上查了不少資料,大多用的switch_to_frame(),it

#因爲這種方法已通過時,因此會在你使用的時候有刪除線

#因此使用switch_to.frame()就行了

driver.switch_to.frame(iframe)

 #最後要說下下拉框選擇這裏要調用到select:

 

#首先調用select
from selenium.webdriver.support.ui import Select
#以後定位select位置
select1=driver.find_element_by_xpath('//div[@class="form_box_singel_block"]/span/select')
#以後再選擇select文本使用了「select_by_visible_text」,
#固然也可使用其餘方法例如value值「select_by_value」或者其餘方法這裏就不一一介紹了網上都有
#注意:上方代碼截圖只是是將定位select和選擇select兩步寫在了一塊兒
Select(select1).select_by_visible_text("待審覈")
相關文章
相關標籤/搜索