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"]')),使用这种方式要想获取嵌套列表的内容,还需要逐层展开(点开)嵌套层才行,否则该元素是隐藏起来的。

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值