В поисках Xpath Selenium - PullRequest
       6

В поисках Xpath Selenium

0 голосов
/ 12 марта 2019

У меня есть следующий элемент:

<div class="PickList visible" 
 widgetid="Palette" id="Palette">
 <span class="stuff">
 <span class="stuff"><span class="lbl">A-B</span><span class="no">1111</span> 
 </span>
 <span class="stuffSelect"><span class="lblSelect">C</span><span 
  class="plu">2222</span></span>

Используемый мной xpath:

Driver.driver.findElement(By.xpath("//*[@id="Palette"]//span//span[2]//span[contains(text(),'C')]"));

Он все еще не может подобрать букву «C».

Любые предложения приветствуются.Благодарю.

Ответы [ 4 ]

1 голос
/ 12 марта 2019

вы можете попробовать ниже xpath для отслеживания от div.

driver.findElement("//*[@id='Palette']/span[2][@class='stuffSelect']/span[1][contains(text(), 'C')]");
0 голосов
/ 12 марта 2019

Вот xpath.Рассмотрим класс visible в вашем xpath или css.Поскольку это означает, что этот div иногда может быть не виден.Поэтому всегда используйте visible, если он есть в классе.

CSS

div.PickList.visible span.lblSelect

xpath

//div[@class='PickList visible']//span[@class='lblSelect']
0 голосов
/ 12 марта 2019

Пожалуйста, попробуйте ниже Xpath. Он напечатает вас 'C'

driver.findElement(By.xpath("(//div[@id='Palette']//span[1]//span[2]/span)[1]")).getText()
0 голосов
/ 12 марта 2019

Используемый вами xpath неверен.Я предоставляю вам правильный xpath, или вы также можете напрямую получить его, используя className.

Обновленный xpath в соответствии с обсуждением:

WebElement selectedCharacter = driver.findElement(By.xpath("//div[@id='Palette']//span[@class='lblSelect']"));
selectedCharacter.getText();

Используя className:

WebElement selectedCharacter = driver.findElement(By.className("lblSelect"));
selectedCharacter.getText();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...