關於selenium自動化對下拉選擇框的處理


有時候定位元素我們會遇到一種常見的下拉框。這里沒找到啥好網站,就以臭名昭著的58同城為例。下拉框長下圖這樣:

有圖可見只要我們點擊省份就會,出現很多選項。下面說下這種下拉框怎么處理

首先先要點擊省份,然后才會出現下拉框選項。driver.find_element_by_xpath('//div[text()="省份"]').click()。然后就是對下拉框選項的定位,

tags = driver.find_elements_by_xpath('//ul[@class="selector-box"]/li'),這里用的elements復數定位會返回一個列表,里面存儲的就是下拉框選項的值。

我們要進行定位的話,第一種方式,可以根據下標定位返回列表的值,tags[1].click(),這里[1]就是選的福建。

第二種方式,先for循環利用里面的文本定位。

for tag in tags:

  if tag.text=='海南':

    tag.click()

代碼如下:

from selenium import webdriver
from time import sleep


driver = webdriver.Chrome()
driver.get('https://hz.58.com/?utm_source=market&spm=u-2d2yxv86y3v43nkddh1.BDPCPZ_BT')
driver.maximize_window()
driver.implicitly_wait(1)
driver.find_element_by_xpath('//a[text()="切換城市"]').click()
driver.find_element_by_xpath('//div[text()="省份"]').click()
tags = driver.find_elements_by_xpath('//ul[@class="selector-box"]/li')

# todo 第一種方式
tags[1].click()

# todo 第二種方式
for tag in tags:
    if tag.text=='海南':
        tag.click()


# for tag in tags:
#     if tag.get_attribute('data-city')=='G':
#         tag.click()

  

alert彈出窗操作:

 


免責聲明!

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



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