【问题标题】:How to extract text from element, element found but text is empty?如何从元素中提取文本,找到元素但文本为空?
【发布时间】:2021-09-02 03:10:55
【问题描述】:

我正在 Android 设备上进行移动自动化测试,并尝试使用 Xpath 和 Selenium 从元素中提取特定文本。我尝试过 Javascript,在行前添加睡眠等,但没有成功。代码找到了元素,但它没有按预期返回值“5+5”,但它返回空值,因为它没有找到任何值。问题可能是什么?如何提取我需要的值?

这里有一些代码:

HashMap<String, String> scrollObject = new HashMap<>();
JavascriptExecutor js = driver;
WebElement myelement = driver.findElement(By.xpath(AppConstant.ANDROID_COMBINAZIONE_VALUE));
            
String text = scrollObject.put("element", ((RemoteWebElement) myelement).getText());
//String value = seetest.hybridRunJavascript(AppConstant.ANDROID_COMBINAZIONE_VALUE, 0, "return arguments[0].text");
System.out.println(text + ":**********************************************");
Assert.assertEquals(text.replaceAll("\\s", ""), comb.replaceAll("\\s", ""));

【问题讨论】:

  • 需要看看 ANDROID_COMBINAZIONE_VALUE 在 UI 和 DOM 结构中的样子

标签: java android selenium ui-automation


【解决方案1】:

您确定它返回的是空白值吗?

据我了解,您的代码似乎不正确,并且返回 null 表示该映射先前将 null 与 key 关联。

String text = scrollObject.put("element", ((RemoteWebElement) myelement).getText());

注意:这总是会给你一个 Null 结果。

请查看以下链接以深入了解它:

https://stackoverflow.com/a/63118437/5372079

补丁:

scrollObject.put("element", ((RemoteWebElement) myelement).getText());
String text = scrollObject.get("element");

完整代码:

    HashMap<String, String> scrollObject = new HashMap<>();
    JavascriptExecutor js = driver;
    WebElement myelement = driver.findElement(By.xpath(AppConstant.ANDROID_COMBINAZIONE_VALUE));
    scrollObject.put("element", ((RemoteWebElement) myelement).getText());
    String text = scrollObject.get("element");
    //String value = seetest.hybridRunJavascript(AppConstant.ANDROID_COMBINAZIONE_VALUE, 0, "return arguments[0].text");
    System.out.println(text + ":**********************************************");
    Assert.assertEquals(text.replaceAll("\\s", ""), comb.replaceAll("\\s", ""));

【讨论】:

  • 您好,感谢您提供的链接。看完后我明白了如何解决这个问题。
猜你喜欢
  • 2014-11-17
  • 1970-01-01
  • 2018-08-09
  • 2015-02-16
  • 2019-06-22
  • 2021-02-10
  • 2019-04-19
  • 2023-01-24
  • 1970-01-01
相关资源
最近更新 更多