无法按文本值检查元素

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)

步骤:

  1. 使用任一唯一定位器识别文本字段 Web 元素
  2. 使用getAttribute方法获取值

代码:

WebElement titleInputElement=driver.findElement(By.xpath("//input[contains(@class,'x-frs-id-ivnt_Title')]"));
String value=titleInputElement.getAttribute("value");

@yong,@Subburaj 抱歉,您也尝试了您的方法,但没有任何价值。

通过下面的方式完美获取值

步骤:

  1. 双击文本字段。以选择文本。

  2. 然后使用键盘键 ctrl+c 将文本复制到剪贴板 Copy the text

  3. 然后最后一步是通过 c#.

  4. 中的以下代码行从剪贴板读取文本

string clipboardExpectedText = System.Windows.Forms.Clipboard.GetText(System.Windows.Forms.TextDataFormat.Text);