python+selenium遍历某一个标签中的内容
一、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遍历某一个标签中的内容的更多相关文章
- 03_MyBatis基本查询,mapper文件的定义,测试代码的编写,resultMap配置返回值,sql片段配置,select标签标签中的内容介绍,配置使用二级缓存,使用别名的数据类型,条件查询ma
1 PersonTestMapper.xml中的内容如下: <?xmlversion="1.0"encoding="UTF-8"?> < ...
- java中的文件读取和文件写出:如何从一个文件中获取内容以及如何向一个文件中写入内容
import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.Fi ...
- javascript jquery 修改指定标签中的内容
javascript jquery 修改指定标签中的内容 $("#test1").text("Hello world!"); document.getEleme ...
- Java IO把一个文件中的内容以字符串的形式读出来
代码记录(备查): /** * 把一个文件中的内容以字符串的形式读出来 * * @author zhipengs * */ public class FileToString { public sta ...
- Python+Selenium进行UI自动化测试项目中,常用的小技巧1:读取excel表,转化成字典(dict)输出
从今天开始我将会把在项目中遇到的问题,以及常用的一些技巧来分享出来,以此来促进自己的学习和提升自己:更加方便我以后的查阅. 现在要说的是:用Python来读取excel表的数据,返回字典(dict), ...
- python+selenium+unnitest写一个完整的登陆的验证
import unittest from selenium import webdriver from time import sleep class lonInTest (unittest.Test ...
- Python+Selenium+Chrome 的一个案例
第一步,下载chromeDrive:http://npm.taobao.org/mirrors/chromedriver(我下载的是2.43版本的chromedriver_win32.zip) 下载之 ...
- 用WSDL4J解析types标签中的内容
WSDL4J是一种用来解析WSDL文本的常用工具. 但网络上用WSDL4J来解析wsdl文档complexType标签中内容的问题一大堆也没有有效的解决方法.今天在我“遍历”wsdl4j的api文档和 ...
- js修改div标签中的内容
<div id='divId'>初始文字</div> <script> $(document).ready(function(e){ $('#divId').htm ...
随机推荐
- cas4.2.7 集群服务搭建
cas服务端集群,网上资料很多,无非就是session共享,ticket共享. 但是session共享是必须的吗?或者能实现集群吗? 实践: 1. ticket共享,直接上代码 package org ...
- Map集合类(一.hashMap源码解析jdk1.8)
java集合笔记一 java集合笔记二 java集合笔记三 jdk 8 之前,其内部是由数组+链表来实现的,而 jdk 8 对于链表长度超过 8 的链表将转储为红黑树 1.属性 //节点数组,第一次使 ...
- mybatis调用存储过程(@Select方式)
存储过程还不会写的同学可以参考我另一篇文章:https://www.cnblogs.com/liuboyuan/p/9375882.html 网上已经有很多用mybatis调用的教程了,但是大部分是x ...
- javascript null vs undefined
这个是很古老的问题了. 一直存在争议,有些人认为,很多语言没用 undefined 也活的好好,为啥要 undefined 呢. 那有了 undefined 是否还需要 null 呢 ? typesc ...
- 【LeetCode 26】删除排序数组中的重复项
题目链接 [题解] 沙比提 [代码] class Solution { public: int removeDuplicates(vector<int>& nums) { if ( ...
- hdu2089数位DP
旁听途说这个名字很久了,了解了一下. 改题目的意思是给你若干区间,让你找寻区间内不含62或4的数. 首先暴力必然T...那么实际上就是说,想办法做一种预处理,在每次输入的时候取值运算就可以了. 既然是 ...
- /etc/fstab修改及mkfs(e2label)相关应用与疑问
http://blog.chinaunix.net/uid-23392298-id-62318.html 我们将以问题开始说明: 案例: 由于n年前的误操作,导致系统启动的时候,提示如下错误:Coul ...
- thinkphp 表单令牌
表单令牌 ThinkPHP支持表单令牌验证功能,可以有效防止表单的重复提交等安全防护.要启用表单令牌功能,需要配置行为绑定, 在应用或者模块的配置目录下面的行为定义文件tags.php中 就是在你的 ...
- linux:lrzsz安装
Linux中的lrzsc是linux里可代替ftp上传和下载的程序. yum install lrzsc 没有可用软件包 lrzsc. 这时使用 -y即可安装 centos安装:yum -y inst ...
- java中trim()方法是用来干什么的?
trim()的作用是去掉字符串两端的多余的空格,注意,是两端的空格,且无论两端的空格有多少个都会去掉,当然 中间的那些空格不会被去掉,如: String s = " a s f g ...