微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何从元素中提取文本,找到元素但文本为空?

如何解决如何从元素中提取文本,找到元素但文本为空?

我正在 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,"return arguments[0].text");
System.out.println(text + ":**********************************************");
Assert.assertEquals(text.replaceAll("\\s",""),comb.replaceAll("\\s",""));

解决方法

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

根据我的理解,您的代码似乎不正确,并且返回空值表明该映射之前将空值与键相关联。

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,"return arguments[0].text");
    System.out.println(text + ":**********************************************");
    Assert.assertEquals(text.replaceAll("\\s",""),comb.replaceAll("\\s",""));

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。