selenium python元素定位技巧(二)

2022-08-22 03:36:10 字數 1906 閱讀 4440

在python-selenium元素定位中,有很多小技巧,在此記錄總結

技巧

一、有關聯關係的元素有交集關係時,必須新增固定等待,整體除錯時候也適當增加固定等待,保持**執行穩定性。下拉的時候選擇下拉框有時候也需要等待。

舉例:下拉框的選擇,比如選擇省份》城市,在選擇省份後一定要新增固定等待後再去選擇城市。

**舉例:

driver.find_element(by.xpath,"//div[@id='project_chosen']").click()   #下拉框一的div的定位

time.sleep(1)

driver.find_element(by.xpath,"/

[@title='提成專案1']").click()   #下拉框的值的輸入

time.sleep(2)  #需要固定等待,因為有依賴關係

driver.find_element(by.xpath,"//div[@id='openedbuild_chosen']").click() #固定等待後再去選擇下拉框二

driver.find_element(by.xpath,"/

[@title='oa2.7.2版本1']").click()  #選擇下拉框二的子選項的值,一定要檢查到子選項的值

技巧

二、同乙個介面,當元素屬性相同,但非同乙個元素,可利用多屬性識別,否則可能會定位元素報錯,也可以使用不同的定位方式。

技巧

三、某些元素不能定位到,可能是該元素在當前介面所在位置不可見了,解決方案

a、可將滑鼠滾動下拉

b、考慮將瀏覽器最大化處理

c、將瀏覽器下拉移動到該元素可見的位置。

舉例:

element=driver.find_element(by.xpath,"//div[@id='mailto_chosen']")  #當前不可見但是需要下拉滾動條操作的元素

driver.execute_script('arguments[0].scrollintoview();',element)

element.click()

time.sleep(1) ##必須加等待,否則不準確,再去操作後續元素

driver.find_element(by.xpath,"//div[@id='mailto_chosen']/div/ul/li[@title='c:測試001']").click()  ##可分層定位,先定位到div,再定位到div下面的子選項進行輸入。
技巧

四、當需要除錯乙個模組的功能時候,先把能單獨拆分的小功能內部調通,再整體除錯

技巧

五、當定位不到元素時,先定位到該元素的上級,再定位到該元素。

例如:

driver.find_element(by.xpath,"//div[@id='mailto_chosen']/div/ul/li[@title='c:測試001']").click() ##可分層定位,先定位到div,再定位到div下面的子選項進行輸入。

或:

driver.find_element(by.xpath,"//td[contains(@title,'人工修改提成失敗')]").click()  #點選標題先定位到當前行,可通過元素定位看出來。

##根據鏈結進入bug詳情頁

driver.find_element(by.xpath,"//td[contains(@title,'人工修改提成失敗')]/a").click() #再通過點選當前行的相對路徑方式定位到可點選的bug的鏈結點選進入bug詳情

time.sleep(1)

selenium python環境搭建

安裝python 2.7.版本,其他版本目前支援不好 嘗試cmd下輸入python,若無法呼叫python,需要將python的安裝路徑 python.exe的儲存位置 新增到path系統變數中 3 安裝pycharm整合開發環境 晚上比較多資料,需要破解。4 配置pycharm 開啟pycharm...

selenium python 安裝使用

selenium官網 selenium簡單教程 selenium完整教程 python基礎教程 注意 上去中如果沒有勾選add python to 安執行命令列,會報 pip 不是內部或外部命令 需要手動進行環境配置即可 執行命令視窗 cmd 輸入以下命令安裝selenium pip install...

selenium python環境搭建

一 初始準備 準備工具如下 因為版本都在更新的,python選擇2.7.xx,setuptoosl選擇平台對應的版本。二 安裝 1.安裝python,安裝目錄c python27 2.setuptools 的安裝也非常簡單,同樣是exe檔案,缺省會找到python的安裝路徑,將安裝到c python...