我有以下从一个网页简化的HTML...
<div class="row import-entity">
<div class="col-md-11">
<div class="row">
<div class="col-md-3">
<span class="mandatory"></span>
</div>
<div class="col-md-3">
<input id="ImportTemplateEntities_2918.Header" type="hidden"></input>
<input id="ImportTemplateEntities_5923.Header"></input>
</div>
<div class="col-md-3">
<input id="ImportTemplateEntities_1234.Column"></input>
</div>
<div class="col-md-3"></div>
</div>
<div class="row">
<div class="col-md-3"></div>
<div class="col-md-3">
<input id="ImportTemplateEntities_9182.Header" type="hidden"></input>
<input id="ImportTemplateEntities_2834.Header"></input>
</div>
<div class="col-md-3">
<input id="ImportTemplateEntities_1243.Column"></input>
</div>
<div class="col-md-3"></div>
</div>
</div>
</div>
需要以下XPath选择条件...
上面HTML中的以下元素与搜索条件匹配
<input id="ImportTemplateEntities_5923.Header"></input>
(请注意,ID中的数值是动态分配的,在搜索文档时我不会知道。)
在添加任何前一种兄弟检查之前,这是我的....
//input[contains(@id,'ImportTemplateEntities')][contains(@id,'Header')][not(contains(@type,'hidden'))]
这个XPath,
//input[contains(@id,'ImportTemplateEntities')]
[contains(@id,'Header')]
[not(@type='hidden')]
[../preceding-sibling::div[span/@class='mandatory']]
将根据请求选择所有input
元素,这些元素的id
属性值包含注意的子字符串,并且没有type
属性,该属性的值为hiddit
并且其父元素具有一个前同级div
元素和一个子span
元素,该子元素具有一个class
属性,该属性的值为mandity
。
我正在为以下代码编写selenium脚本。 这些是如下所示的复选框。复选框的数量将根据数据库值进行更改。 在我的代码中,我首先检查是否选中了“Frau”复选框。所以我试着按照这个片段。 但是当我试图执行这个脚本时<代码>WebElement div=父级。findElement(By.xpath(“前面的同级:::div”)给我第一个div标记,而不是前一个。我想要一个兄弟姐妹。
问题内容: 如何检查一个DOM元素是否是另一个DOM元素的子元素?有内置的方法吗?例如,类似: 要么 如果没有,那么有什么想法怎么做?它还需要跨浏览器。我还应该提到,孩子可以嵌套在父级以下的多个级别。 问题答案: 更新: 现在有一种本地方法可以实现此目的。。在评论中也提到了答案。 旧答案: 使用该属性应该可以。从跨浏览器的角度来看,它也是非常安全的。如果已知这种关系是一级的,则可以简单地检查一下:
我在JavaSelenium中运行测试,在那里我找到一个元素,一旦找到就需要找到紧接在前的元素。代码需要是动态的,因为我不知道我开始的元素是5个中的第3个、10个中的第6个还是2个中的第1个。 问题是,使用xpath中的前置兄弟,我得到了找到的元素之前的所有元素,而不是紧接在它之前的元素。例如,这是我的xml: 假设我已经找到了作为WebElement的“Value 2”标签,那么我接下来要做的就
问题内容: 我有两个带有不同对象的列表。 我想检查list2中的元素是否存在于list2中,基于特定的属性(Object1和Object2具有(以及其他),一个共有属性(类型为Long),名为attributeSame)。 现在,我这样做是这样的: 但是我认为有一种更好,更快的方法可以做到这一点:)有人可以提出吗? 谢谢! 问题答案: 如果只需要测试基本相等性,则可以使用基本JDK来完成,而无需在
我有两个不同对象的列表。 我想根据特定的属性(Object1和Object2有一个共同的属性(类型为Long),名为AttributeName),检查list2中是否存在list1中的元素。 现在,我是这样做的: 但我认为有更好更快的方法可以做到这一点:)有人能提出吗? 谢谢
我的XSLT1.0模板中有两个变量,每个变量包含一个节点集(用xpath选择)。我想确定一个变量中的节点集是否包含在另一个变量中的节点集中。例如,假设我有一个包含嵌套部分的章节。我想看看是否包含在中: 我试图获取节点集的交集,以查看是否是和共享的第一个公共元素,但这不起作用: 添加一些上下文。我正在用这个xslt为html页面树创建一个选项卡式界面,我试图解决的问题是将class=“current