python selenium表單定位

2022-09-12 21:00:23 字數 2572 閱讀 9232

在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 解決了:

1

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()

view code

以下是後來的各種元素定位的坑集合:

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...