首页 > 编程语言 >python+playwright 学习-56 svg 元素定位

python+playwright 学习-56 svg 元素定位

时间:2023-04-26 09:22:45浏览次数:34  
标签:定位 playwright name python svg 元素 标签 id

前言

SVG英文全称为Scalable vector Graphics,意思为可缩放的矢量图,这种元素比较特殊,需要通过 ​name​() 函数来进行定位。

svg 元素定位

如下看到的svg 标签,就是svg元素

用普通的标签定位,是无法定位的,如xpath的//svg

只能通过 name() 函数来定位 //*[name()="svg"]

页面上用多个svg元素

如果页面上用多个svg元素,通过//*[name()="svg"] 会定位全部的svg元素,为了区分定位具体的哪个,可以通过父元素的区分

//*[@id="box1"]//*[name()="svg"]

除了用父元素区分,也可以用其它属性组合,svg属性加其它属性,用 and 组合

//*[name()="svg" and @width="500"]

定位svg 上的子元素

如果需要定位svg 下的子元素,如下图的text属性

跟前面定位方式一样,还是通过name() 函数来定位子元素的标签

//*[@id="box1"]//*[name()="svg"]/*[name()="text"]

再举个例子,定位circle 标签

//*[@id="box1"]//*[name()="svg"]/*[name()="circle"]

标签:定位,playwright,name,python,svg,元素,标签,id
From: https://www.cnblogs.com/yoyoketang/p/17354636.html

相关文章

  • Python计算 x 的整数 n 次幂函数
    Python实现pow(x,n),即计算x的整数n次幂函数(即,xn)。defmyPow(self,x:float,n:int)->float:ifx==0:return0res=1ifn<0:x,n=1/x,-nwhilen:ifn&1:res*=xx*=xn>>=1......
  • Python实验课3
    实验任务1importrandomprint('用列表存储随机整数:')lst=[random.randint(0,100)foriinrange(5)]print(lst)print('\n用集合存储随机整数:')s1={random.randint(0,100)foriinrange(5)}print(s1)print('\n用集合存储随机整数:')s2=set()wh......
  • 人生苦短,我用PYTHON(目录)
    PYTHON基础01-Python基础之简介02-Python基础之虚拟环境03-Python基础之数据类型04-Python基础之格式化输出05-Python基础之深浅复制06-Python基础之散列类型和逻辑运算07-Python基础之流程控制08-Python基础之文件操作09-Python基础之函数10-Pytho......
  • 《Python入门与核心语法》电子书
    《Python入门与核心语法》是由刘永富编写、中国水利水电出版社智博尚书分社编辑整理的电子书,共61页,内容包括Python的下载和安装,代码编写与执行等基础内容。PDF电子书下载: 链接:https://pan.baidu.com/s/1I9HhkKBWuujzk2jBgkR5-w提取码:2022配套视频合集: https://www.bilibili......
  • python字符串集合面试笔试题
    python字符串面试笔试题1:以下代码的输出是?s='foo't='bar'print('barf'in2*(s+t))A.TrueB.Fasle+运算符连接字符串,而*运算符创建多个副本。2*(s+t)的结果是'foobarfoobar',它确实包含字符串'barf'。2:以下代码的输出是?print(ord('foo'))......
  • python实验笔记1
    1.python如何在一行里面输入两个数呢如果直接这样子写会报错n=int(input())m=int(input())要按照下面的写法才可以实现n,m=map(int,input().split())2.python实现排列组合在itertools库中提供了两个函数permutations和combinations可以实现全排列和组......
  • python MAP
    MapMap会将一个函数映射到一个输入列表的所有元素上。这是它的规范:规范map(function_to_apply,list_of_inputs)大多数时候,我们要把列表中所有元素一个个地传递给一个函数,并收集输出。比方说:items=[1,2,3,4,5]squared=[]foriinitems:squared.append(i*......
  • PYTHON FILTER
    Filter顾名思义,filter过滤列表中的元素,并且返回一个由所有符合要求的元素所构成的列表,符合要求即函数映射到该元素时返回值为True.这里是一个简短的例子:number_list=range(-5,5)less_than_zero=filter(lambdax:x<0,number_list)print(list(less_than_zero))#......
  • PYTHON REDUCE
    Reduce当需要对一个列表进行一些计算并返回结果时,Reduce是个非常有用的函数。举个例子,当你需要计算一个整数列表的乘积时。通常在python中你可能会使用基本的for循环来完成这个任务。现在我们来试试reduce:fromfunctoolsimportreduceproduct=reduce((lambdax......
  • PYTHON set
    set(集合)数据结构set(集合)是一个非常有用的数据结构。它与列表(list)的行为类似,区别在于set不能包含重复的值。这在很多情况下非常有用。例如你可能想检查列表中是否包含重复的元素,你有两个选择,第一个需要使用for循环,就像这样:some_list=['a','b','c','b','d','m','......