有时候我们会碰到一些元素不可见,这个时候selenium就无法对这些元素进行操作了。例如,下面的情况:

Python

  页面主要通过“display:none”来控制整个下拉框不可见。这个时候如果直接操作这个下拉框,就会提示:

from selenium import webdriver
from selenium.webdriver.support.select import Select
import os,time driver = webdriver.Chrome()
file_path = 'file:///' + os.path.abspath('test.html')
driver.get(file_path) sel = driver.find_element_by_tag_name('select')
Select(sel).select_by_value('opel')
time.sleep(2) driver.quit()

  exceptions.ElementNotVisibleException: Message: element not visible: Element is not currently visible and may not be manipulated

  我们需要通过javaScript修改display的值。

……

js = 'document.querySelectorAll("select")[0].style.display="block";'
driver.execute_script(js) sel = driver.find_element_by_tag_name('select')
Select(sel).select_by_value('opel') ……

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

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

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

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

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

参考:https://www.cnblogs.com/fnng/p/5365900.html

selenium操作隐藏的元素 (下拉框类型)的更多相关文章

  1. selenium操作隐藏的元素

    有时候我们会碰到一些元素不可见,这个时候selenium就无法对这些元素进行操作了.例如,下面的情况: Python 页面主要通过“display:none”来控制整个下拉框不可见.这个时候如果直接操 ...

  2. selenium处理select标签的下拉框

    有时候我们会碰到<select></select>标签的下拉框.直接点击下拉框中的选项不一定可行.Selenium专门提供了Select类来处理下拉框. <select  ...

  3. Selenium实战总结(webwiew下拉框定位)

    基于常见的两种下拉框的展示形式: 1.点击弹出下拉框: 2.鼠标移动弹出下拉框(move_to_element) 实例一[鼠标点击弹出的下拉框]: e.g百度首页的设置--高级搜索--时间: 导包: ...

  4. Python + Selenium 定位非selected型下拉框的方法

    最近在尝试给自己负责的模块写UI自动化的Demo 登录及切换页面比较顺利 但是遇到下拉框的选择时,遇到了一点困难 我负责的模块页面的下拉框并非Select类型,无法使用select_by_index ...

  5. selenium测试(Java)--下拉框(二十一)

    例子: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title ...

  6. web自动化测试—selenium游览器下拉框操作

    # coding=utf-8'''下拉框实战思路导包:from selenium.webdriver.support.select import Select #下拉框select from sele ...

  7. 纯原生javascript下拉框表单美化实例教程

    html的表单有很强大的功能,在web早期的时候,表单是页面向服务器发起通信的主要渠道.但有些表单元素的样式没办法通过添加css样式来达到满意的效果,而且不同的浏览器之间设置的样式还存在兼容问题,比如 ...

  8. JQuery和ASP.NET分别实现级联下拉框效果

    在学习JQuery之前知道下拉框的级联效果可以通过asp.net控件实现,现在学习了JQuery,知道了JQuery和select也能实现.我分别举两个小例子说明这两种方法如何实现. 1.用JQuer ...

  9. python webdriver中对不同下拉框通过文本值的选择

    在自动化中python对下拉框的处理网上相对实例比较少,其它前辈写的教程中对下拉也仅仅是相对与教程来说的,比如下面: m=driver.find_element_by_id("Shippin ...

随机推荐

  1. JQuery, Silverlight 公用WCF

    WCF web.config配置: <?xml version="1.0"?> <configuration> <system.web> < ...

  2. SaltStack自动化运维工具

    一.SaltStack的了解 SaltStack管理工具允许管理员对多个操作系统创建一个一致的管理系统,包括VMware vSphere环境. SaltStack作用于仆从和主拓扑.SaltStack ...

  3. FreeModbus undefined reference to `pthread_create'

    /********************************************************************************* * FreeModbus unde ...

  4. linux shell except tcl login ssh Automatic interaction

    /*************************************************************************************** * linux she ...

  5. linux比较两个文件的差异

    1. vimdiff $ vimdiff in.txt out.txt 垂直打开:  vimdiff   point.c     point-a.c 水平打开:   vimdiff -o  point ...

  6. 安装wordcloud第三方库Unable to find vcvarsall.bat

    前言 本来想要使用python爬一些数据的,制作词云,感觉挺好玩的,不过python安装第三方库的时候遇到了一些问题,有的问题比较好解决,有的就找了好久才知道怎么解决的,故记录下来. 环境 系统:wi ...

  7. [LeetCode&Python] Problem 821. Shortest Distance to a Character

    Given a string S and a character C, return an array of integers representing the shortest distance f ...

  8. poj-1239(递推关系)好难

    #include <iostream> #include <algorithm> #include <cstring> #include <cstdio> ...

  9. PHP处理大数据导出Excel方法

    在日常的工作中,很多时候都需要导出各种各样的报表,但是如果导出的数据一旦比较大,很容易就导致超时,对于这种问题,有很多的解决方法,例如网上说的分批导出.采用CSV.还有就采用JAVA.甚至是C++和C ...

  10. Linux Shell查看物理CPU个数、核数、逻辑CPU个数

    Linux Shell常用命令: ====================================== # 总核数 = 物理CPU个数 X 每颗物理CPU的核数 # 总逻辑CPU数 = 物理C ...