有时候定位元素我们会遇到一种常见的下拉框。这里没找到啥好网站,就以臭名昭著的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()
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。