![](/img/trans.png)
[英]Get Text from element inside a webtable without using XPath(Selenium Web driver + Java)
[英]How to access a webtable element using xpath if the webtable element is inside a td tag
我无法访问table2内的webtable元素,请参见以下页面源:
<table id="table1">
<tr class="head">
<td class="left" colspan="2">
<!--PAGE LINKS-->
</td>
</tr>
<tr>
<td class="left_link">
<h1>
<a name="nav_home" href="index.html" id="home_link" class="home">HOME</a><br>
<a name="nav_adopt" href="adoption.html" id="adoption_link">ADOPTION</a><br>
<a name="nav_about" href="about.html" id="about_link">ABOUT</a><br>
<a name="nav_contact" href="contact.html" id="contact_link">CONTACT</a><br>
</h1>
</td>
<td class="content">
<h1>
CONTACT US
</h1>
<hr>
<p>
Use the form below to contact us if you have any questions, queries or even any requests.
We are always happy to hear from you all.
</p>
<h1 class="subhead">Contact Form</h1>
<form name="message_form">
<table id="table2" class="inner_table">
<tr>
<td>Enter Name</td>
<td><input type="text" name="name_field"></td>
</tr>
<tr>
<td></td>
<td>
<input type="radio" id="rinfo" name="rbutton" value="information">Information
<input type="radio" id="rdona" name="rbutton" value="Donation">Donation
<input type="radio" id="radop" name="rbutton" value="Donation">Adoption
</td>
</tr>
例如,我无法访问table2内的名称。
我尝试使用下面的方法访问但失败。
driver.findElements(By.xpath(“ // * [@ class ='table1'] / tbody / tr [2] / td [2] / form / table [@ class ='inner_table'] / tr [1] / td [1))
在xpath
尝试一下
//table[@id='table2']/..//following::input[@name='name_field']
xpath的解释:-使用<table>
标签的id
属性,并使用following
关键字继续使用<input>
标签。
xpath
上方的该位置将找到“输入名称”字段文本框。
注意:-使用relative xpath
而不是使用absolute xpath
relative xpath
。
不建议在硒上使用xpath,因为元素可能会发生变化,如果添加另一个元素,则必须重构选择器。
要回答您的问题,您可以使用table2
的ID并选择所需的元素。
尝试如下所示的xpath:
访问名称为“ name_field”的输入,在xpath下使用
driver.findElement(By.xpath("//table[@id='table2' and @class= 'inner_table']//input[@type='text' and @name='name_field']")
希望它会有所帮助。
它应该是一个CSS选择器,就像input[name='name_field']
一样简单;如果不够具体,请使用#table2 input[name='name_field']
。
在Web表中,可以使用xPath到达元素的父元素,然后找到td标签的preceding-sibling
或following-sibling
本教程将为您提供帮助: http : //www.seleniumtests.com/2011/10/using-xpath-to-reach-parent-of-element.html
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.