无法按文本值检查元素
Unable to inspect element by text value
在随附的屏幕截图中,我想读取标题的值 'Title_6jOa'
但是我无法找到该元素,因为突出显示的区域中没有文本值。
请问有什么解决办法吗?
您应该可以通过字段的 class 来定位该字段,CSS 选择器可以是 .x-frs-id-ivnt_Title
然后为了阅读输入到字段中的文本,
findElement(By.cssSelector(".x-frs-id-ivnt_Title")).getAttribute("value")
如果 css 选择器 .x-frs-id-ivnt_Title
找不到预期的文本框,请尝试以下 xpath:
findElement(By.xpath("//tr[td[contains(., 'Title')]]/td/input")).getAttribute("value")
请在更改代码之前在浏览器 DevTool 中手动检查 CSS 选择器和 xpath。
输入字段文本值将不会保留在 Dev Tool.So 中的输入标签中,我们不能不使用 getText() 方法,它可以使用提取getAttribute() 方法如下或可以使用 JavaScriptExecutor (Using Selenium Web Driver to retrieve value of a HTML input)
步骤:
- 使用任一唯一定位器识别文本字段 Web 元素
- 使用getAttribute方法获取值
代码:
WebElement titleInputElement=driver.findElement(By.xpath("//input[contains(@class,'x-frs-id-ivnt_Title')]"));
String value=titleInputElement.getAttribute("value");
@yong,@Subburaj 抱歉,您也尝试了您的方法,但没有任何价值。
通过下面的方式完美获取值
步骤:
双击文本字段。以选择文本。
然后使用键盘键 ctrl+c 将文本复制到剪贴板
Copy the text
然后最后一步是通过 c#.
中的以下代码行从剪贴板读取文本
string clipboardExpectedText = System.Windows.Forms.Clipboard.GetText(System.Windows.Forms.TextDataFormat.Text);
在随附的屏幕截图中,我想读取标题的值 'Title_6jOa' 但是我无法找到该元素,因为突出显示的区域中没有文本值。
请问有什么解决办法吗?
您应该可以通过字段的 class 来定位该字段,CSS 选择器可以是 .x-frs-id-ivnt_Title
然后为了阅读输入到字段中的文本,
findElement(By.cssSelector(".x-frs-id-ivnt_Title")).getAttribute("value")
如果 css 选择器 .x-frs-id-ivnt_Title
找不到预期的文本框,请尝试以下 xpath:
findElement(By.xpath("//tr[td[contains(., 'Title')]]/td/input")).getAttribute("value")
请在更改代码之前在浏览器 DevTool 中手动检查 CSS 选择器和 xpath。
输入字段文本值将不会保留在 Dev Tool.So 中的输入标签中,我们不能不使用 getText() 方法,它可以使用提取getAttribute() 方法如下或可以使用 JavaScriptExecutor (Using Selenium Web Driver to retrieve value of a HTML input)
步骤:
- 使用任一唯一定位器识别文本字段 Web 元素
- 使用getAttribute方法获取值
代码:
WebElement titleInputElement=driver.findElement(By.xpath("//input[contains(@class,'x-frs-id-ivnt_Title')]"));
String value=titleInputElement.getAttribute("value");
@yong,@Subburaj 抱歉,您也尝试了您的方法,但没有任何价值。
通过下面的方式完美获取值
步骤:
双击文本字段。以选择文本。
然后使用键盘键 ctrl+c 将文本复制到剪贴板 Copy the text
然后最后一步是通过 c#.
中的以下代码行从剪贴板读取文本
string clipboardExpectedText = System.Windows.Forms.Clipboard.GetText(System.Windows.Forms.TextDataFormat.Text);