java - 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')]"}
解决方案
看起来您正在尝试获取包含属性值等于 dialogMessage 的所有元素,而不是尝试使用此 xpath:
//*[contains(@id, 'dialogMessage')]
或者
//*[@id='dialogMessage']
推荐阅读
- c# - 为什么 C# 8 数组切片功能中的新帽子运算符索引不从 0 开始?
- ios - 尝试在 iOS 平台(离子 3)上安装 OneSignal 插件时出错
- python - Tkinter`after`奇怪的行为
- php - 刀片中的 selectBox 过滤器,Laravel
- jquery - jQuery将类添加到html引用和转义
- java - 即使在会话结束重定向到登录页面期间也保留 url 参数
- python - 使用 lambda 基于具有非空值的另一列在数据框中创建一列
- typo3 - TypoScript 选择可能由流体变量动态填充的 dataWrap?
- bash - 松鼠脚本 - 空格问题 - 添加“空格”以传递给“回声”命令
- android - 使用 firebase 获取连接的用户信息,getUID 给出了错误的 ID