C # Selenium xpath не может найти внутренний узел div - PullRequest
0 голосов
/ 08 ноября 2018

Я попытался получить доступ ко второму внутреннему узлу div. Вот структура:

<div class = "bPageBlock brandSecondaryBrd bDetailBlock secondaryPalette" id="ep">
    <div class ="pbHeader"></div>
    <div class ="pbBody"></div>

Посредством добавления ChroPath, с указанным ниже xpath он может соответствовать Класс pbHeader

"html/body/div[4]/div[1]" При попытке использовать ту же логику для доступа к классу pbBody он не указывает на этот узел div.

"html/body/div[4]/div[2]"

Мне нужно получить доступ к элементу внутри pbBody div class .

Ответы [ 2 ]

0 голосов
/ 08 ноября 2018

Для чего-то простого, подобного этому, вы должны использовать селекторы CSS.

#ep > div.pbHeader
#ep > div.pbBody

Если вы не указали HTML в своем вопросе, вам может потребоваться удалить > с указанием дочернего элемента, например,

#ep div.pbHeader
#ep div.pbBody

Но ... если вы должны использовать XPath, вы можете использовать ниже

//[@id='ep']/div[@class='pbBody']
0 голосов
/ 08 ноября 2018

Вместо абсолютный xpath следует использовать относительный xpath следующим образом:

driver.FindElement(By.XPath("//div[@class='bPageBlock brandSecondaryBrd bDetailBlock secondaryPalette' and @id='ep']//div[@class='pbBody']"));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...