标签:xpath 遍历 python selenium lists id 获取 列表 find
一、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"]')),使用这种方式要想获取嵌套列表的内容,还需要逐层展开(点开)嵌套层才行,否则该元素是隐藏起来的。
标签:xpath,遍历,python,selenium,lists,id,获取,列表,find 来源: https://blog.csdn.net/u012980075/article/details/95955703
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。