Не удалось найти правильный Xpath - PullRequest
1 голос
/ 05 июля 2019

Xpath не идентифицируется при запуске скрипта в Selenium robot Framework

<div class="divRptData">
    <hr class="hrConnector" />
    <span style="float: left; cursor: pointer" class="tree-box tree-box-expand" onclick="javascript: toggleBranch(this, 'level2_ABC')"/>
    <span style="margin-left: 4px" class="ng-binding">text</span>
</div>

Я уже пробовал ниже XPATH для приведенного выше кода, который работает, когда я нахожу его вручную, но при запуске скрипта он не идентифицируется.

//span[@onclick="javascript: toggleBranch(this, 'level2_ABC')"]

//div[3]/div/div/div/div[4]/div[1]/span[1]

Может кто-нибудь помочь мне с этим справиться.

Ответы [ 2 ]

4 голосов
/ 05 июля 2019

Я подозреваю, что у вас проблемы с кавычками. Попробуйте:

//span[@onclick=\"javascript: toggleBranch(this, 'level2_ABC')\"]

Вы можете проверить этот XPath в своем браузере, набрав в консоли следующее:

$x("//span[@onclick=\"javascript: toggleBranch(this, 'level2_ABC')\"]")

(Вышеописанное работает на Chrome, я думаю, что все браузеры теперь поддерживают синтаксис)

0 голосов
/ 05 июля 2019

Вы можете использовать любой из следующих _Xpath_s:

"//div[@class='divRptData']/hr[@class='hrConnector']//following::span[1]"

Или

"//div[@class='divRptData']//span[@class='tree-box tree-box-expand' and contains(@onclick, 'level2_ABC')]"
...