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

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?
软件测试,怎么增加面试通过率?

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

为什么投递简历,投递出去要么无人回应、要么石沉大海--啥原因?
posted @ 2019-12-13 16:04  Dotest软件测试学堂  阅读(654)  评论(0编辑  收藏  举报