如何单击基于单选按钮的列值?

时间:2019-07-02 09:13:28

标签: java selenium-webdriver radio-button

我有一个如下所述的表格:(select, Advisor, Advisor Name and Relationship are coulmn names)。由于限制,我无法将其粘贴为表格。

选择:

RadioButton1                    
Radiobutton2

顾问:

Advisor1
Advisor2

AdvisorName:

Name1
Name2

关系:

Secondary
Primary

radiobuttons没有标签名称。

我的情况是:我需要单击Relationship=Primary处的单选按钮。你能建议怎么做吗?

1 个答案:

答案 0 :(得分:0)

给出以下HTML table结构

<table style="width:100%">
    <tr>
        <th>Select</th>
        <th>Advisor</th>
        <th>Advisor Name</th>
        <th>Relationship</th>
    </tr>
    <tr>
        <td>
            <div>RadioButton1</div>
            <div>RadioButton2</div>
        </td>
        <td>
            <div>Advisor1</div>
            <div>Advisor2</div>
        </td>
        <td>
            <div>Name1</div>
            <div>Name2</div>
        </td>
        <td>
            <div>Secondary</div>
            <div>Primary</div>
        </td>
    </tr>
</table>

您可以使用以下表达式匹配Primary列的Relationship值:

//table/tr/td[count(//table/tr/th[.='Relationship']/preceding-sibling::th) + 1]/div[text()='Primary']

enter image description here

位置:

  • count(//table/tr/th[.='Relationship']/preceding-sibling::th) + 1-返回Relationship列的位置(列号),4
  • 表达式的其余部分基本上从表的第​​4列中选择具有Primary文本的div

参考文献:


在大多数情况下,使用Table class框架中的HtmlElements更容易