【发布时间】:2017-12-21 10:32:08
【问题描述】:
谁能帮助我使用父标记名的引用找出子标记名列表。
在表格中,我有行和列的列表,这意味着每行有 14 列,每列都有内部标签列表,如跨度、跨度、输入。现在我需要在 td[11] 列下找到我编写了以下代码的项目列表:
element=driver.findElement(shopviewtableid);
items=element.findElements(shopviewrow);
if(items.size()>0) {
for(WebElement ele:items) {
columnvalues=ele.findElements(shopviewcolumn);
for(WebElement item:columnvalues) {
System.out.println("Inside Tag name of each column"+item..toString());
在上面的代码中,我在shopviewtable id 和tagname tr 中为shopviewrow 和xpath //td[11] 传递表xpath //td[11] 为shopviewcolumn。现在再次为每一行获取td[11] 后,我正在获取td[11] 下的项目列表
for(WebElement item:columnvalues) {
System.out.println("Inside Tag name of each column"+item..toString());" .
在td[11] 下,我有三项tagname 为span,span,input。 PFA 截图如何从列表中获取这些标签的名称[在此处输入图片描述]
尝试对每个项目使用item.getTagname(),但它将td 显示为tagname,而不是td[11] 内的元素名称。
如果有人能在这个问题上帮助我,那就太好了。
这是我的 Html 结构:
<td role="gridcell" style="width: 11%;" class="jqnoDetails">
<span id="detailsForm:j_id_5q:0:minQuantity" class="hidden">1</span>
<span id="detailsForm:j_id_5q:0:incQuantity" class="hidden">1</span>
<span id="detailsForm:j_id_5q:0:originalQuantity" class="hidden">1.0000</span>
<input id="detailsForm:j_id_5q:0:quantity" name="detailsForm:j_id_5q:0:quantity" type="text" value="1" min="0" inc="1" onblur="PrimeFaces.bcn(this,event,[function(event){handleQuantityChanged(this); updatePrice($(this), 11.23);},function(event){jsf.ajax.request('detailsForm:j_id_5q:0:quantity',event,{execute:'@this ',render:'@this ','CLIENT_BEHAVIOR_RENDERING_MODE':'OBSTRUSIVE','javax.faces.behavior.event':'blur'})}])" style="width: 85%;" aria-required="true" class="ui-inputfield ui-inputtext ui-widget ui-state-default ui-corner-all jqQuantityInput textCenter" role="textbox" aria-disabled="false" aria-readonly="false">
</td>
【问题讨论】:
-
能否将问题区域内的相关
HTML更新为Formatted Text?
标签: java selenium html-table