首页 > 其他 > 详细

关于selenium自动化对下拉选择框的处理

时间:2019-08-28 23:42:25      阅读:95      评论:0      收藏:0      [点我收藏+]

有时候定位元素我们会遇到一种常见的下拉框。这里没找到啥好网站,就以臭名昭著的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()

 

 

关于selenium自动化对下拉选择框的处理

原文:https://www.cnblogs.com/xiamaojjie/p/11427012.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!