一、python+selenium遍历某一个标签中的内容

举个例子:我要获取列表标签<li></li>的内容

根据python+selenium定位到列表整体,使用for循环获取列表文本;可用于校验列表是否存在你需要的文本内容

1.获取内容不包含嵌套层列表

给出代码:

from selenium import webdriver
import time d = webdriver.Chrome()
d.maximize_window() # 窗口最大化
###登录某网站
d.get('http://xx.xxx.xx.xx:xxxx/')
d.find_element_by_xpath('//*[@id="userName"]').send_keys('xxx')
d.find_element_by_xpath('//*[@id="userPwd"]').send_keys('xxx')
d.find_element_by_xpath('//*[@id="login"]').click()
time.sleep(2)
###切换表单,进入到操作页面
d.find_element_by_xpath('//*[@id="menu_ul"]/li[5]/a').click()
d.switch_to_frame('mainframe2')
d.find_element_by_xpath('//*[@id="nav-accordion"]/li[2]/a').click()
d.switch_to_frame('mainframe')
d.switch_to_frame('vehIframe')
###定位到要获取标签的顶级元素,并使用for循环获取
names = d.find_elements_by_xpath('//*[@id="vehGroupTree_1"]')
lists = []
for i in names:
a = i.text
lists.append(a)
print(a, i.get_attribute("href")) # 打印遍历标签出来的内容和获取href属性的内容
print(lists)
print(lists[0].split('\n'))
print(len(lists[0].split('\n'))) # 打印列表元素数目

注意:有些列表不仅仅包含嵌套列表,还有扩展项(指的是“+”可以展开的那种),这里我们获取的内容只是最外层内容(获取那一层内容取决于定位元素names = d.find_elements_by_xpath('//*[@id="vehGroupTree_1"]')),使用这种方式要想获取嵌套列表的内容,还需要逐层展开(点开)嵌套层才行,否则该元素是隐藏起来的。

python+selenium遍历某一个标签中的内容的更多相关文章

  1. 03_MyBatis基本查询,mapper文件的定义,测试代码的编写,resultMap配置返回值,sql片段配置,select标签标签中的内容介绍,配置使用二级缓存,使用别名的数据类型,条件查询ma

     1 PersonTestMapper.xml中的内容如下: <?xmlversion="1.0"encoding="UTF-8"?> < ...

  2. java中的文件读取和文件写出:如何从一个文件中获取内容以及如何向一个文件中写入内容

    import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.Fi ...

  3. javascript jquery 修改指定标签中的内容

    javascript jquery 修改指定标签中的内容 $("#test1").text("Hello world!"); document.getEleme ...

  4. Java IO把一个文件中的内容以字符串的形式读出来

    代码记录(备查): /** * 把一个文件中的内容以字符串的形式读出来 * * @author zhipengs * */ public class FileToString { public sta ...

  5. Python+Selenium进行UI自动化测试项目中,常用的小技巧1:读取excel表,转化成字典(dict)输出

    从今天开始我将会把在项目中遇到的问题,以及常用的一些技巧来分享出来,以此来促进自己的学习和提升自己:更加方便我以后的查阅. 现在要说的是:用Python来读取excel表的数据,返回字典(dict), ...

  6. python+selenium+unnitest写一个完整的登陆的验证

    import unittest from selenium import webdriver from time import sleep class lonInTest (unittest.Test ...

  7. Python+Selenium+Chrome 的一个案例

    第一步,下载chromeDrive:http://npm.taobao.org/mirrors/chromedriver(我下载的是2.43版本的chromedriver_win32.zip) 下载之 ...

  8. 用WSDL4J解析types标签中的内容

    WSDL4J是一种用来解析WSDL文本的常用工具. 但网络上用WSDL4J来解析wsdl文档complexType标签中内容的问题一大堆也没有有效的解决方法.今天在我“遍历”wsdl4j的api文档和 ...

  9. js修改div标签中的内容

    <div id='divId'>初始文字</div> <script> $(document).ready(function(e){ $('#divId').htm ...

随机推荐

  1. Shell 脚本的建立与执行

  2. android5.1 修改音量键绑定多媒体声音

    修改此文件frameworks/base/media/java/android/media/AudioService.java中函数 private int getActiveStreamType(i ...

  3. 当一个页面中有多个form表单并且有重名的元素时,js获取指定form表单中的指定元素

    有时候我们会在一个页面中写了多个form表单,碰巧多个form表单中又有相同名称的元素,而我们又不想改名字,这个时候就能用到 $("#form1 #div1").val() 好玩吧 ...

  4. javac无效问题解决

    首先去下载JDK的最新版本,目前应该是1.7,具体下载地址可以百度去搜索下载 步骤阅读 2 下载时候要注意自己系统的版本,JDK分32位和64位版,根据自己系统版本下载. 步骤阅读 3 下载完后安装, ...

  5. war包里面文件的修改方式

    1  将war包移动到一个干净的路径下,使用   jar xvf ROOT.war    命令将war进行解压操作 2  修改相应的文件内容,修改想要修改的文件,比如web.xml 3 使用    j ...

  6. JavaScript常见设计模式梳理

    单例模式 单例模式,顾名思义就是保证每个类都只有一个实例对象. 其实现思路很简单,先判断实例是否存在,如果不存在则创建新的实例返回,如果存在则直接返回该实例. 策略模式 策略模式可以理解为:封装多个可 ...

  7. go类c语法

    go类c语法 一般来说,如果一门语言具有类c语法,意味着当你习惯使用其他类c语言例如c.c++.java.javascript和c#,然后你就会发现go语言和它们也类似,至少表面上是.例如,使用&am ...

  8. Shell5

    sed文本编辑器(vim,notepad)非交互式的文本编辑器sed是逐行处理编辑器    sed [选项] ‘条件指令'  文件   #没有条件指令时,默认对全文所有进行修改sed的所有操作默认时在 ...

  9. iOS 如何计算UIWebView的ContentSize

    首选要等UIWebView加载内容后,然后在它的回调方法里将webview的高度Height设置足够小,就设置为1吧,因为这样才能用 sizeThatFits才能计算出webview得内容大小 - ( ...

  10. could not stop cortex-m device

    检查一下STM32复位管脚是不是0V,如果是0V的话并且你有上拉电阻,那么就断电后检查一下STM32的VCC和GND是否短路,我的就是两个贴片电容击穿造成的短路从而使RST无法拉高.