2016年10月22日,星期六

使用Selenium访问表内的Web元素



使用xpath访问表内的Web元素非常重要,因为您需要编写自动化的Selenium测试用例。由于开发人员很难为每个表元素提供ID,因此我们需要使用Xpath来访问每个单元元素。因此,这篇文章对于理解使用Selenium访问表非常有用。

访问表格单元格元素-

HTML代码-
 

<html>
<body>
<table id="表1">
<table>
<tr>
<td>first </td>
<td>second </td>
</tr>
<tr>
<td>third</td>
<td>four </td>
</tr>
<table>
</body>
</htmt>

Xpath写作 -让我们编写xpath以便单击带有文本的单元格 “ th”

我们知道XPath定位器 以双斜杠“ //”开头,然后是父标记名称。由于我们正在处理表格,因此父元素将是<table>标签。 XPath的第一部分将是 “//表”.

带标签的元素<tbody> is under <table> means <tbody> is child tag of  of <table>。现在,oue xpath将被修改为 “ // table / tbody”。

现在里面<tbody>我们需要访问第二个<tr> and first <td>所以现在xpath将被修改为 “ //table/tbody.tr[2]/td[1]”。

WebElement thirdCell = driver.findElement(By.Xpath("//table/tbody/tr[2]/td[1]"));  

访问嵌套表单元格元素-

HTML代码-


<html>
<body>
<!-- Outer Table -->
<table id="表1">
<tbody>
<tr>
<td>first </td>
<td>second </td>
</tr>
<tr>
<td>third</td>
<!-- Inner Table -->
<table id="表2">
<tbody>
<tr>
<td>first 1</td>
<td>second 2</td>
</tr>
<tr>
<td>third 3</td>
<td>four 4 </td>
</tr>
</tbody>
<table>
</tr>
</tbody>
<table>
</body>
</htmt>

Xpath编写-

Xpath用于定位“第二个2"


WebElement thirdCell = driver.findElement(By.Xpath("//table/tbody/tr[2]/td[2]
                                                 +"/table/tbody/tr[1]/td[2]"));

Accessing 表 elment using attributes -

如果HTML代码中有多个表,或者如果表嵌套太多,我们可以使用html代码中提供的任何属性,例如Id,Width,height,values等。请参考第一个html代码,其中表ID为表1,那么我们可以如下所示编写xpath 


WebElement thirdCell = driver.findElement(By.Xpath("//table[@id=\"表1\"]/tbody/tr[2]/td[1]"));  


8条评论:

  1. 回覆
    1. 我很高兴看到这篇文章。对于我们来说,这是一个内容丰富的博客,我们需要这种类型的博客,感谢您与我们分享此博客,请继续发布此类说明性博客,我期待您将来的发布。 适用于学生的Python项目 数据分析是对原始数据进行剖析以便做出决策的研究。数据分析的进步和程序通常用于企业中,以使协会能够逐渐适应 钦奈的Python培训 明智的业务选择。在目前的全球商业中心,'足够汇编数据并进行数学运算;您应该意识到如何将这些数据应用于会影响行为的真实情况。在该程序中,您将首先精通专门技能,包括R和Python方言,这些常用于数据分析编程和使用。 钦奈的Python培训 鉴于行业细分领域中的真正业务问题,例如福利,促销和会计,此时,常识性应用围绕着常识应用。 钦奈项目中心

      删除
  2. 我很高兴阅读您的博客,您一直在提供有用的信息&我们的愿景的独特信息。保持博客。
    问候,
    钦奈PHP培训
    钦奈PHP课程
    钦奈的理货课程
    钦奈的ReactJS培训
    钦奈Microsoft Dynamics CRM培训
    钦奈PHP培训
    钦奈PHP课程

    回复删除
  3. 我必须感谢分享这个博客管理员,对我真的很有帮助。

    技术
    ejobsalert

    回复删除