Я работаю над селеном и пытаюсь получить доступ к тексту из узла, но я не уверен, как извлечь и утверждать текст с утвержденным ключевым словом.
Это узел -
<div class="Notification-body">
<div class="">
<div class="type--primary u-textBreak">
<span class="u-inline">
<span class="type--title">User Name</span> approved "Page_For_Submission"
</span>
</div>
<span class="u-displayBlock type--note">4 hours ago</span>
</div>
</div>
Изначально я пробовал этот XPath, но он не дает результата -
(//span[contains(@class,'title')]/following-sibling::text()[contains(text(),'approved')])[1]
означает, что это не простой текстовый узел.
Позже я использовал следующие XPath и смог определить положениеэлемента
(//html/body/div[7]/div[3]/div[2]/div/div/div/div/ul/li[2]/a/div/div/div/div/span/text())[2]
//span[contains(@class,'title')]/following-sibling::text()
(//span[contains(@class,'title')]/following-sibling::text()[contains(.,'approved')])[1]
Но при использовании этих XPath-ов в селене
System.out.println(driver.findElement(By.xpath(prop.getProperty("txt_approvedNotification"))).getText());
Получение следующей ошибки при выполнении
org.openqa.selenium.InvalidSelectorException: invalid selector: The result of the xpath expression "(XPath of Element)[2]" is: [object Text]. It should be an element.
(Session info: chrome=77.0.3865.90)
Build info: version: '3.11.0', revision: 'e59cfb3', time: '2018-03-11T20:26:55.152Z'
System info: host: '*****', ip: '*****', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '1.8.0_191'
Driver info: org.openqa.selenium.chrome.ChromeDriver
Capabilities {acceptInsecureCerts: false, browserName: chrome, browserVersion: 77.0.3865.90,
Просто хочучтобы узнать, является ли его проблема XPath или ограничение селена драйвер.