Невозможно определить XPATH с вложенными элементами SVG - PullRequest
0 голосов
/ 29 октября 2019

Впереди это показано в виде таблицы с четырьмя столбцами, и я хотел нажать на второй столбец, где что-то написаноЯ подтвердил и тег не был использован. когда я пытаюсь найти этот элемент, давая мне «0 элемент», выбранный, когда я пытаюсь использовать другой способ написания xpath.

В 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), который имеет четыре тега, и мое требование - щелкнуть по тегу 2nd div, который отображается как 2ndколонна впереди.

<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 меняется каждый раз, поэтому я попробовал следующий, но тот же результат. т.е. элемент '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']

Пожалуйста, кто-нибудь знает, как написать xpath с помощью svg, пожалуйста, помогите мне.

1 Ответ

0 голосов
/ 29 октября 2019

, если вы хотите идентифицировать реагирующий элемент в соответствии с вашим DOM, а data-managerid является статическим и уникальным, тогда перейдите ниже: xpath

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...