selenium无法定位非select的下拉框元素,请大神帮忙看看

weixin_42636397 2018-11-28 01:37:53
这个下拉框不是select型的下拉框,所以不能用select_by_index("")的方法去定位,只能一步一步去点,我先用xpath找到下拉框,用此语句self.driver.find_element_by_xpath(“A”).click()可以点开下拉框(A为该下拉框的XPATH) ,并且展示里面的列表,但是再用self.driver.find_element_by_xpath(“//*[@id="cdk-overlay-3"]/div/div/ul/li[1]”).click()去点里面的某个值(括号里为下拉框里某个值得xpath),总是报错,后来尝试用键盘上下键来操作,如send_keys(Keys.DOWN)也报错,求大神看看到底问题出在哪
下面是html的截图,

下拉框的值好像都隐藏了,点击标签展开看得到对应的值,我是直接点击那一行,如第一行“给水”右键复制的xpath为//*[@id="cdk-overlay-3"]/div/div/ul/li[1]
...全文
1408 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
金杜 2018-12-28
  • 打赏
  • 举报
回复
还是建议你改回ID的方式, 你这个下面是否有多个div,你可以尝试 find_elements_by_xpath[Python名字不确定,就是获取多个元素的方法],看看到底获取到了几个。 然后你说一直报错,具体报的什么错,你倒是贴出来啊
m0_37989127 2018-12-04
  • 打赏
  • 举报
回复
xpath定位
weixin_42636397 2018-11-28
  • 打赏
  • 举报
回复 2
问题解决了,竟然是要把copy xpath获取的xpath路径//*[@id="cdk-overlay-3"]/div/div/ul/li[1] 改成用class定位,同时增加索引(因为class重复),修改成这样 self.driver.find_element_by_xpath('//*[@class="ant-select-dropdown-menu-item ng-star-inserted"][1]').click() ,后面的【1】表示选择第一项,然后运行就成功了,为什么直接copy的xpath路径不对?另外键盘操作为什么不行呢,这个不存在元素定位不准的问题啊

5,219

社区成员

发帖
与我相关
我的任务
社区描述
软件工程/管理 质量管理/软件测试
功能测试压力测试安全性测试 个人社区 湖南省·长沙市
社区管理员
  • 软件测试
  • 虫无涯
  • 小博测试成长之路
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

欢迎大家加入到软件测试的社区,在这里,希望大家勇于发表自己的看法,欢迎大家分享自己在软件测试工作过程中遇到的问题以及工作经验分享。

1.想转行的小伙伴,遇到问题没有及时回复的,可以私聊小博进行反馈

2.大家对社区有好的建议,都可以在社区发帖进行反馈

推荐大家学习的软件测试入门笔记:软件测试入门学习笔记

试试用AI创作助手写篇文章吧