selenium 複雜元素定位

2022-06-16 23:15:18 字數 1691 閱讀 4924

第一種:滑鼠懸浮才出現元素

剛開始執行報錯:元素怎麼都定位不到,檢查了**沒發現問題,就去看網頁源**,發現了iframe標籤,利用switch_to.frame()方法跳入frame,然後再進行定位

完整**如下:

from selenium.webdriver import

actionchains

......

#8.新增新位址

driver.find_element_by_css_selector("

.ftx-05.j_consignee_global

").click()

#9.輸入收貨人資訊

#切換到iframe

driver.switch_to.frame("

dialogiframe")

#選擇所在地區

above = driver.find_element_by_css_selector("

.ui-area-wrap.fl.ui-area-oversea-mode")

#滑鼠懸浮定位

actionchains(driver).move_to_element(above).perform()

driver.find_element_by_link_text("廣東

").click()

driver.find_element_by_link_text(

"佛山市

").click()

driver.find_element_by_link_text(

"南海區

").click()

driver.find_element_by_link_text(

"桂城街道

").click()

第二種:下拉框元素定位操作

from selenium.webdriver.support.select import

select

#選擇所在地區——省

sheng = driver.find_elements_by_class_name("

add-new-area-select

")[0]

#把找到的下拉框強制轉換成下拉框select型別,通過可見文字"山西省"去選擇

select(sheng).select_by_visible_text("

山西省")#

選擇收貨地區——市

shi = driver.find_elements_by_class_name("

add-new-area-select

")[1]

select(shi).select_by_visible_text(

"大同市")

#選擇地區

qu = driver.find_elements_by_tag_name("

select

")[2]

select(qu).select_by_visible_text(

"市轄區

")

Selenium 元素定位

ui自動化中元素的定位是最最基本,但也是最讓人頭痛的地方。控制項的動態載入,屬性的動態生成抑或因為開發的懶而造成控制項的識別問題總是自動化測試的噩夢。webdriver作為主流的網頁測試工具提供了非常豐富的識別控制項的方法。這次在寫自動化庫的時候也遇到各種定位問題,著實抓狂了一陣,但最終都解決了。雖...

selenium元素定位

單數形式 複數形式,返回的是乙個列表 使用範圍 a.元素有id屬性 b.id不是動態的,為固定值 driver.find element by id id屬性值 使用範圍 a.元素有id屬性 b.id不是動態的,為固定值 語法 driver.find element by name name屬性值 ...

selenium元素定位

一,元素定位方式 from selenium import webdriver from selenium.webdriver.support import expected conditions as ec import time driver webdriver.chrome driver.ge...