【发布时间】:2017-12-07 19:52:13
【问题描述】:
我正在尝试将随机属性的值保存在字符串中 之后,我想点击它,这样我就可以保存页面的标题并比较两个字符串 我的代码就在这里:
public void clickOnRandomProduct(List <WebElement> elements){
Random r = new Random();
int randomValue = r.nextInt(elements.size());
String valoareField=elements.get(randomValue).getAttribute("alt");
System.out.println(valoareField);
elements.get(randomValue).click();
}
我从字符串中收到“null”,但我不知道为什么
【问题讨论】:
-
您没有显示将值分配给元素列表的代码,但我猜它们都是图像,因为你们都打算检查“alt”属性并点击它们?您是否将数组限制为仅一种类型(标签)的元素?
-
是的 这是一个包含带有图像的产品的页面 我想从随机产品中获取属性值“alt” 然后我想点击该产品 然后我想从产品中获取文本比较字符串
-
您是否使用“//img”作为xpath?你在检查一个空列表吗?您可以在原始消息中发布一段 HTML 代码吗?
-
这是页面显示的随机产品的路径 s0emagst.akamaized.net/products/9650/9649839/images/…" alt="Sistem Desktop PC All-in-One Acer DQ.UAPEX.002 cu 处理器 AMD E1 7010 1.5 GHz, 19.5”, 4GB, 1TB, Intel HD Graphics, Microsoft Windows 10 Home, Black, Mouse + Tastatura"/> 我想从 valoareField String 中的 alt 属性中获取文本
-
它可能在这个特定示例中返回 null,因为代码似乎有一个缺陷:它使用双引号来表示英寸,我假设屏幕尺寸 (19.5"),这会导致混淆解析文本时。否则我看不出你的代码有什么问题。
标签: java selenium automation