首页 > 解决方案 > Selenium WebDriver 匹配相似的 xpaths

问题描述

我有以下 xpath,应该由 WebDriver 以相同的方式处理,我需要从中获取文本内容。

//*[@id="dialogMessage"]/div[3]
//*[@id="dialogMessage"]/div[3]/p
//*[@id="dialogMessage"]/div[3]/p/span[2]

我尝试使用此代码来匹配上述所有代码。

String result_text = driver.findElement(By.xpath("//*[contains(@value, 'dialogMessage')]")).getText();

在每次页面加载时,页面上只有一个 xpaths。我收到以下错误消息:

org.openqa.selenium.NoSuchElementException: no such element: Unable to locate element: {"method":"xpath","selector":"//id[contains(@value, 'dialogMessage')]"}

标签: javaseleniumxpathwebdriver

解决方案


看起来您正在尝试获取包含属性值等于 dialogMessage 的所有元素,而不是尝试使用此 xpath:

//*[contains(@id, 'dialogMessage')]

或者

 //*[@id='dialogMessage']

推荐阅读