无法确定具有嵌套SVG元素的XPATH



在前面,它以表格形式显示,有四列,我想点击第二列,其中写了一些东西。我确认了,标签没有被使用。当我尝试用不同的编写xpath的方式查找那个元素时,会选择"0元素"。

尝试使用"时在chropath中//div[@class='slick-viewport']/div/div'-它向我展示了21个元素,结果如下:

<div class="ui-content slick-row odd" style="" xpath="1"></div>
<div class="ui-content slick-row even" style="" xpath="2"></div>
<div class="ui-content slick-row odd" style="" xpath="3"></div>
<div class="ui-content slick-row even" style="" xpath="4"></div>
<div class="ui-content slick-row odd" style="" xpath="5"></div>
<div class="ui-content slick-row even" style="" xpath="6"></div> 

等等当我扩展一个结果(共21个(时,它有四个标签,我的要求是点击前面第二列的第二个div标签。

<div class="ui-widget-content slick-row odd" style="" xpath="1">
<div class="custom-tooltip slick-cell l0 r0" style=""></div>
<div class="custom-tooltip slick-cell l1 r1" style=""></div>
<div class="custom-tooltip slick-cell l2 r2" style=""></div>
<div class="custom-tooltip slick-cell l3 r3" style=""></div>
</div>

当我在上面展开标签时,代码如下。

<div class="ui-widget-content slick-row odd" style="" xpath="1">
<div class="custom-tooltip slick-cell l0 r0" style="">
<a href="javascript:void(0) " style="font-size: 10pt; text-decoration: 
none; color: #026fbe; line-height: 29px;" onclick="Manager.Details"></a>
</div>
<div class="custom-tooltip slick-cell l1 r1" style="">
<svg width="100%" height="25" version="1.1" id="SVG_e1b7a2e4-0548-469c- 
898d-9f723cea80ef" data-managerid="471" 
xmlns="http://www.w3.org/2000/svg" 
onclick="openSummary('SVG_e1b7a2e4-0548-898d-9f723cea80ef')" style="">
<g>
<defs></defs>
<rect width="100%" height="25" style="stroke-width:1;stroke: #B3B3B3" 
fill="url(#e1b7a2e4-0548-469c-898d-9f723cea80ef)"></rect>
</g>
<text x="10" y="17" fill="black" style="font-weight: bolder; font-size: 
12px;" id="PopUp_e1b7a2e4-0548-469c-898d-9f723cea80ef"></text>
<g></g>
</svg>
</div>
<div class="custom-tooltip slick-cell l2 r2" style="">
good
</div>
<div class="custom-tooltip slick-cell l3 r3" style="">
better
</div>

当在chropath中尝试使用以下代码时,它显示"0"元素:

//div[@class='slick-viewport']/div/div/div/div[2]//*[name()='svg' and id='SVG_c9f91db7-1452-4038-ab06-39e']//*[name='g']//*[name()='rect']

但svg的id每次都在变化,所以我尝试了以下操作,但结果相同。即"0"元素。

//div[@class='slick-viewport']/div/div/div/div[2]//*[name()='svg' ]//*[name='g']//*[name()='rect']

甚至尝试了以下但相同的结果,即0元素。

//div[@class='slick-viewport']/div/div/div/div[2]//*[name()='svg']//*[name() ='g']//*[name='rect' and @fill='url(#9fff3df4-9671-4514-ade8-29da06c46c96']

请任何人知道如何使用svg编写xpath,请帮助我。

如果您想根据DOM识别react元素,并且数据managerid是静态和唯一的,那么请使用下面的xpath

"//*[name()='svg']//*[name() ='g']//*[name()='react"]

最新更新