python selenium xpath如何同时获取两个属性内的值

python selenium xpath如何同时获取两个属性内的值,第1张

您好,很高兴能帮助您

selenium ide是用来录制的!

大概可以这样认为selenium ide 录制完的脚本,通过RC启动不同浏览器运行测试!

python+selenium,是需要自己搭框架的,搭完框架后需要自己去写脚本,需要对selenium进行二次封装,这样写脚本会更加灵活,更有效率,可读性强,重复运行稳定性高,而且也易于维护!

所以说,两个是完全不同层次的!但也是一步步过来的,使用seleniumIDE后你很快就会发现它的弊端和局限!到时,你自然会慢慢自己写!!!

使用时先安装 lxml 包

开始使用 #

和beautifulsoup类似,首先我们需要得到一个文档树

把文本转换成一个文档树对象

from lxml import etreeif __name__ == '__main__':doc='''

把文件转换成一个文档树对象

fromlxmlimportetree# 读取外部文件 indexhtmlhtml = etreeparse('/indexhtml')result = etreetostring(html, pretty_print=True)#pretty_print=True 会格式化输出print(result)

均会打印出文档内容

节点元素属性、内容 #

xpath 的思想是通过 路径表达 去寻找节点。节点包括元素,属性,和内容

元素举例

html --->div --->

这里我们可以看到,这里的元素和html中的标签一个意思。单独的元素是无法表达一个路径的,所以单独的元素不能独立使用

路径表达式 #

/  根节点,节点分隔符,//  任意位置  当前节点  父级节点@  属性

通配符 #

  任意元素@  任意属性node()  任意子节点(元素,属性,内容)

谓语 #

使用中括号来限定元素,称为谓语

//a[n] n为大于零的整数,代表子元素排在第n个位置的 元素//a[last()]  last()  代表子元素排在最后个位置的 元素//a[last()-]  和上面同理,代表倒数第二个//a[position()<3] 位置序号小于3,也就是前两个,这里我们可以看出xpath中的序列是从1开始//a[@href]    拥有href的 元素//a[@href='内置很多函数。更多函数查看 >

xPath 是一种html和xml的查询语言,能在其树状结构中寻找节点。

LXML安装:pip install lxml

——xPath使用-----------------------------------------------------------------------------------

获取文本:

//标签1[@属性1="属性值1"]/标签2[@属性2="属性值2"]//text()

获取属性值

//标签1[@属性1="属性值1"]/标签2[@属性2="属性值2"]//@属性n

eg:-------------------------------------------------------------------

from lxml import html

def parse():

"""将html文件中内容 使用xpath进行提取"""

    #读取文件中的内容

    f =open('/static/indexhtml', 'r', encoding='utf-8')

    s = fread()

    selector = htmlfromstring(s)

# 解析a 标签内容

    a = selectorxpath('//div[@id="container"]/a/text()')

    print(a[0])

# 解析href属性

    alink = selectorxpath('//div[@id="container"]/a/@href')

    print(alink[0])

    fclose()

if __name__=='__main__':

    parse()

以上就是关于python selenium xpath如何同时获取两个属性内的值全部的内容,包括:python selenium xpath如何同时获取两个属性内的值、python使用xpath(超详细)、xPath与html等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9629440.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-30
下一篇2023-04-30

发表评论

登录后才能评论

评论列表(0条)

    保存