在web應用中經常會遇到frame/iframe 表單巢狀頁面的應用,webdriver 只能在乙個頁面上對元素識別與定位,對於frame/iframe 表單內嵌頁面上的元素無法直接定位。這時就需要通過switch_to.frame()方法將當前定位的主體切換為frame/iframe 表單的內嵌頁面中:
如下兩個例子:
1 、 163郵箱登入介面:
2 、電信話費查詢介面:
3、alert :彈出的提示框 d.switch_to_alert()
4 、群裡有個小夥伴: 登入後輸入密碼 ,id定位不到了,(單步執行可以)後來發現是焦點丟失(這裡感謝翎兒/jack指導)
driver.switch_to.frame("x-urs-iframe") #切換到表單
driver.find_element_by_name("email").clear()
driver.find_element_by_name("email").send_keys(account)
2 、 電信話費查詢介面:
3、alert :彈出的提示框 d.switch_to_alert()
4 、群裡有個小夥伴: 登入後輸入密碼 ,id定位不到了,(單步執行可以)後來發現是焦點丟失(這裡感謝翎兒/jack指導)可能是輸入賬號後頁面重新整理了,也可能是其他原因,加了actionchains 解決了:1view code 以下是後來的各種元素定位的坑集合:from selenium import
webdriver
2from selenium.webdriver.common.action_chains import
actionchains
3from time import
sleep
4 d=webdriver.chrome()
5d.maximize_window()
6 d.get('
')7 a=d.find_element_by_name('
account')
8a.clear()
9 a.send_keys('
1234')
10 sleep(3)
11 click_b1=d.find_element_by_xpath("
.//input[@id='txtshowpwd']")
12#click_b1=d.find_element_by_id('txtshowpwd')
13 sleep(1)
14 actionchains(d).click(click_b1).send_keys('
1234
').perform()
Python Selenium環境搭建
安裝python 設定 python 的環境變數 安裝目錄 安裝目錄 scripts 使用 pip安裝 selenium pip install selenium 安裝完python pip工具,在安裝目錄的 scripts 目錄下。在 dos下直接執行 pip install selenium 即...
Python Selenium 學習筆記
1 判斷元素是否存在 try driver.find element.xx a true except a false if a true print 元素存在 elif a false print 元素不存在 2 判斷元素是否顯示 driver.find element by id outputb...
Python Selenium錯誤小結
因為要使用web應用,所以開始用起了,selenium包,安裝倒是挺容易的,但就是出了很多bug。filenotfounderror winerror 2 系統找不到指定的檔案。通過錯誤反饋發現是要把該軟體加到路徑裡面,但是,設定了系統環境變數後發現還是不行,最後,使用了乙個非常原始的方法 brow...