python display 报错_Python自动化之下拉框,隐藏标签定位 代码&报错解决

在Python Selenium自动化测试中,遇到下拉框select标签因`style="display: none;"`导致的ElementNotVisibleException报错。解决方法是使用JavaScript执行`style.display="block"`使其可见。通过`document.querySelectorAll("select")[index].style.display="block"`定位并显示隐藏元素,然后可以正常操作下拉框。
摘要由CSDN通过智能技术生成

python自动化:下拉框定位方法之select标签 style="display: none;"报错selenium.common.exceptions.ElementNotVisibleException: Message: element not visible: Element is not currently visible and may not be manipulated

界面源码:(禅道为例)

排查:

1)因为是隐藏的,需要操作其可见才可定位

2)若还是无法定位,请查看前后是否有sleep等待;xpath定位效率会低点。

'''

select标签定位

使用index

若是操作隐藏的元素的话:style="display: none;";【若不是隐藏的的话不需要js】

js = 'document.querySelectorAll("select")[0].style.display="block";'

driver.execute_script(js)

------

document.querySelectorAll("select") 选择所有的select。

[0] 指定这一组标签里的第几个。

style.display="block"; 修改样式的display="block" ,表示可见。

执行完这句js代码后,就可以正常操作下拉框了。

'''

#index定位;导入:from selenium.webdriver.support.select import Select

js = 'document.querySelectorAll("select")[2].style.display="block";'#[2]:从零开始查第几个就写几

driver.execute_script(js)

project = driver.find_element_by_xpath("//*[@id='project']")

Select(project).select_by_index(1) #从零查第几个option

===往期精选技术文章===

我能学习,就业吗?

软件测试应该怎么自学?

软件测试,如何包装简历?

软件测试面试题大全-根据学生实际面试整理-v2.0

软件测试用例书写逻辑思维

实战项目测试过程

软件测试面试技巧

培训的讨论-谨防培训贷

为什么测试工程师要学习linux?

软件测试,怎么增加面试通过率?

毕业季--找工作的几点注意事项

为什么投递简历,投递出去要么无人回应、要么石沉大海--啥原因?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值