(包含專案)selenium的多層框架定位

2022-07-30 06:27:14 字數 2096 閱讀 4351

這篇文章主要介紹selenium的多層框架定位。案例是使用selenium自動登陸qq空間。

1 使用selenium自動請求qq空間**  。開啟後出現如下頁面。

2 通過xpath定位到賬號密碼登入的位置,然後使用click點選物件。出現如下頁面。

3 通過xpath定位到賬號輸入的位置,密碼輸入的位置,使用send_keys輸入賬號密碼。然後使用xpath定位到登入的位置,使用click點選物件。 

第二步中,當我們使用xpath定位賬號密碼登入這個元素時,發現定位器沒有問題,但是一直定位不了,

這時候我們需要判斷這個元素是否在乙個frame(框架)中,如果這個元素在乙個框架中,我們需要使用switch_to_frame('框架id名')的方法,先找到框架,然後再去定位這個元素。

因此我們知道第二步和第三步的賬號密碼登入、賬號輸入、密碼輸入、登入這四個元素是在id為login_frame框架中的, 我們需要先使用switch_to_frame('login_frame')找到這個框架,然後才能用xpath去定位元素。

如果乙個元素在框架b中,框架b又在框架a中,那麼我們需要先找到框架a,再找到框架b,最後才能定位出這個元素。

1

deflogin_qqkongjian(account,password):

2from selenium import

webdriver

3import

requests

4from selenium.webdriver.support.ui import

webdriverwait

56 driver =webdriver.chrome()

7 driver.get('

')8driver.maximize_window()

9 webdriverwait(driver, 10).until(lambda driver: driver.find_element_by_xpath('

//*[@id="login_frame"]'))

1011 driver.switch_to.frame('

login_frame')

12 webdriverwait(driver, 10).until(lambda driver: driver.find_element_by_xpath('

//*[@id="switcher_plogin"]'))

1314 driver.find_element_by_xpath('

//*[@id="switcher_plogin"]

').click()

15 webdriverwait(driver, 10).until(lambda driver: driver.find_element_by_xpath('

//*[@id="u"]'))

1617 driver.find_element_by_xpath('

//*[@id="u"]

').send_keys(account)

18 driver.find_element_by_xpath('

//*[@id="p"]

').send_keys(password)

19 driver.find_element_by_xpath('

//*[@id="login_button"]

').click()

2021

if__name__ == '

__main__':

22 account = '***

'23 password = '***

'24 login_qqkongjian(account,password)

vue 多層迴圈,包含tab切換

需實現功能 1.多層迴圈 2.每層迴圈包含 或不包含 tab 切換 3.tab切換,每層迴圈是獨立的。如圖所示 html部分 for items,index in list key index if items.tab items.tab.length 0 for item,menu index i...

url 中包含多層URL引數的編碼解碼處理

var return url1 http localhost 8080 wx page page1.html?id 1233 name 你好 url 引數 使用 encodeuricomponent decodeuricomponent 編譯碼 url 使用 encodeuri decodeuri ...

敏捷專案計畫的多層面

敏捷專案中計畫的多層面通過計畫洋蔥圈來表示。最外層 戰略層面。戰略層面包含領導達成一致的整體商業目標和路線圖 第二層 產品組合層面。產品組合計畫包含能實現戰略規劃願景的產品 第三層 產品層面。產品計畫包含產品負責人對於發布系統的演變計畫 第四層 發布層面。發布計畫考慮支撐產品計畫的每次發布的可交付物...