我对ByChained类的文档中提到的内容非常困惑。它说:
用于使用一系列其他查找在文档中定位元素的机制。此类将找到按顺序与每个定位器匹配的所有DOM元素,例如driver.findElements(new
ByChained(by1,by2))将找到与by2匹配的所有元素,并出现在与by1匹配的元素下面。
selenium在code.google.com上也存在一个问题,该问题是为ByChained类提出的,有人在评论中说,它旨在用于通过多个定位符查找元素/元素。
我不明白
为什么by1和by2是两个不同元素的定位符?当我初次接触该类时,我觉得它将通过使用不同的定位器来帮助定位元素。因此,如果一个定位器不起作用,则下一个定位器将起作用。但是,当我实际使用此类时,它的行为非常奇怪,并一直抛出NoSuchElementException。
例如,如果我的html是:
<html>
<body>
<div id="details">
<input id="firstName" class="personName" type="text"/>
</div>
</body>
</html>
我想在ByChained中使用两个定位符来查找输入字段:
1.使用By.id("firstName")
2.使用By.className("personName")
所以我的代码变成:
By myBy = new ByChained(By.id("firstName"),By.className("personName"));
driver.findElement(myBy);
在执行时,我得到了NoSuchElementException。我期望如果我的第一个By不起作用,那么它将在系列中找到带有下一个By的元素。
有人可以通过一个示例解释此类的工作原理,以及可以在哪种情况下使用该类吗?
此类的作用是允许您使用dom中的层次结构来定位元素。
可以说由于某种原因您拥有以下html:
<html>
<body>
<div id="details">
<input id="firstName" class="personName" type="text"/>
</div>
<input id="firstName" class="personName" type="text"/>
</body>
</html>
并且您想要获得div之间的元素,而不是单独获得的元素。您可以使用ByChained by通过执行以下操作来指定所需的元素:
new ByChained(By.id("details"),By.id("firstName"));
发生的情况是,它找到第一个元素,然后在dom层次结构中的该元素下搜索列表中下一个选择器。基本上,此By只是一种不再需要执行以下操作的好方法:
details = driver.findElement(By.id("details"));
input = details.findElement(By.id("firstName"));
我目前有大量的情况需要验证页面(及其所有元素)是否正确显示。WebElement的方法似乎是实现这一目的的合理方法,但是我想确切地理解这个方法是如何确定元素是否“显示”的。javadoc对该方法的内部工作方式没有任何了解,而web上的其他信息充其量也是稀疏的。 如果有人能提供这种方法如何工作的详细描述,我将不胜感激。
应用程序具有上下文路径-->/spring-form-simple-project 因此,为了访问,我使用: 这个控制器又返回student.jsp,当提交这个student.jsp时,它用-->@RequestMapping(value=“/AddStudent”,method=RequestMethod.post)调用controller 任何关于这通常如何工作的指示都将是有帮助的。 谢谢!
本文向大家介绍hibernate 是如何工作的?相关面试题,主要包含被问及hibernate 是如何工作的?时的应答技巧和注意事项,需要的朋友参考一下 读取并解析配置文件。 读取并解析映射文件,创建 SessionFactory。 打开 Session。 创建事务。 进行持久化操作。 提交事务。 关闭 Session。 关闭 SessionFactory。
我很想知道谷歌应用商店服务中的Activity认可是如何工作的? 我认为活动是通过加速计数据识别的。是这样吗?。请告诉我详细情况如何
我对GridBagLayout这一主题不熟悉,我无法理解约束、重量和填充之间的确切区别。 我可以而不分配。 除非您指定了至少一个非零值,否则所有组件都会聚集在其容器的中心。这是因为当权重为0.0(默认值)时,GridBagLayout会在其单元格网格和容器边缘之间放置任何额外的空间。 我的问题是,如果这是真的,那么为什么组件之间没有空间,它们看起来是连接的?
从@mock和@injectmocks之间的差异,我理解@injectmocks被用作创建实例的注释,并将用@mock创建的mock注入其中。我想我不明白它是怎么工作的。 以下是我的问题: 在中,当我调用时,它返回一个空集...我的问题是:为什么不抛出(只声明mockedappoinceptions)?也许因为这是一个嘲弄?如果原因是这样,为什么模拟不抛出“NullPointerException