如何解决如何从元素中提取文本,找到元素但文本为空?
我正在 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 举报,一经查实,本站将立刻删除。