Python+selenium 定位非select類型的下拉框和定位時間控件


1.選擇一個下拉框

看一下網頁上的結構

 

 

 

 

 當我們點擊這個公告類型的時候,會出現拉下框,並且激活下拉菜單,我們再看一下點擊后的結構:

 

 因此,我的思路就是通過點擊下拉菜單的按鈕,激活下拉菜單后,在進行元素定位,我們看一下代碼:

# 點擊請假類型(激活下拉框)
driver.find_element_by_class_name('ant-select-selection__placeholder').click()
time.sleep(1)
 
# 生產隨機數
key = random.randrange(1, 5)
# 根據隨機數選擇下拉框
if key == 1:
    self.param.find_element_by_xpath('//*[@class="ant-select-dropdown-menu-item"][1]').click()
elif key == 2:
     self.param.find_element_by_xpath('//*[@class="ant-select-dropdown-menu-item"][2]').click()
elif key == 3:
     self.param.find_element_by_xpath('//*[@class="ant-select-dropdown-menu-item"][3]').click()
elif key == 4:
     self.param.find_element_by_xpath('//*[@class="ant-select-dropdown-menu-item"][4]').click()
else:
     print('error')

  2、定位時間控件

1.如圖,要選擇2號:

 

 查看html源碼結構:

 

 可提出該元素的XPATH為:

//*[@class='ant-calendar-tbody']/tr/td[4]

2.選擇時間

 

 查看html源碼結構: 

 

 可提出該元素的XPATH為:(選擇09:00)

//*[@class='ant-calendar-time-picker-combobox']/div/ul/li[11]
//*[@class='ant-calendar-time-picker-combobox']/div[2]/ul/li

?這里有個問題,選擇09點后無法點擊00分  

 經手工驗證,鼠標移到分的一列后可選擇。

 

解決辦法:將鼠標移到分的一列

pyautogui.moveTo(669, 560)

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM