selenium 定位input输入框下的选择项

您所在的位置:网站首页 下拉选择项怎么输入 selenium 定位input输入框下的选择项

selenium 定位input输入框下的选择项

2024-05-11 06:53| 来源: 网络整理| 查看: 265

今天的问题与下图中的类似

这是一个input型输入框,当我点击或输入值时,输入框下方会显示选择项帮助快速输入,代码如下:

苹果 樱桃 蓝莓

 一开始我只定位了inout输入框,向其中输入数据“苹果”,然后点击查找,这时问题出现了,虽然页面刷新了,但是并未进行查找

问题存在的原因是,输入框虽然提供了输入,但是必须从出现的选择项中进行点击,完成选择,才可进行查找,由此我就需要定位到代码中相应的li

解决方法1:

首先向输入框中输入值,然后下方选项就会只显示苹果,然后在查找input输入框的兄弟元素下的li(此时是唯一的)

drive.find_element_by_name("some").input("苹果“) drive.find_element_by_xpath("//input[@name='some']/following-sibling::ul/li").click()

 

解决方法2:

点击输入框,将会显示下方选项,然后查找input输入框下兄弟元素下的li(此时是一个列表),然后传入值,遍历lil列表,找到和传入值相同的li的text值,进行点击

drive.find_element_by_name("some").click() lilist=drive.find_elements_by_xpath("//input[@name='some']/following-sibling::ul/li") for li in lilist: if li.text=="苹果" li.click()

 我认为方法2比方法1更严谨一些,上述代码还少了一些判断,在实际应用中不可忽视



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3