【问题标题】:Selenium XPATH or CSS to select a checkbox with the specified text from a html table I am getting two checkboxes selectedSelenium XPATH 或 CSS 从 html 表中选择具有指定文本的复选框 我选择了两个复选框
【发布时间】:2015-11-03 20:32:58
【问题描述】:

我正在尝试从 HTML 列表中选择一个复选框。我想选中带有“USN”文本的复选框
我的 XPATH 选择了 2 个复选框:

  • 美国海军
  • 美国日期

我想选中第 1 个复选框:

  • 美国海军

我的 XPATH 是:

//table[@id="reporting_add_report_tab_manual_ct_fields_avail"]//div[contains(text(), "USN")]/preceding::td[1]//input

如何构建我的 XPATH 或 CSS 以选择我想要的确切复选框? 如果结构发生变化,XPATH 或 CSS 也很健壮。

HTML 是:

<table id="reporting_add_report_tab_manual_ct_fields_avail" class="GLKP2TGBJE" cellspacing="0" __gwtcellbasedwidgetimpldispatchingfocus="true" __gwtcellbasedwidgetimpldispatchingblur="true">
<thead aria-hidden="false">
    <colgroup>
        <tbody style="">
            <tr class="GLKP2TGBCD GLKP2TGBJD" __gwt_subrow="0" __gwt_row="0">
                <td class="GLKP2TGBBD GLKP2TGBDD GLKP2TGBED GLKP2TGBKD">
                    <div __gwt_cell="cell-gwt-uid-500" style="outline-style:none;">
                        <input type="checkbox" tabindex="-1" />
                    </div>
                </td>
                <td class="GLKP2TGBBD GLKP2TGBDD GLKP2TGBKD">
                    <div __gwt_cell="cell-gwt-uid-501" style="outline-style:none;">USN</div>
                </td>
                <td class="GLKP2TGBBD GLKP2TGBDD GLKP2TGBOD GLKP2TGBKD">
                    <div __gwt_cell="cell-gwt-uid-502" style="outline-style:none;" />
                </td>
            </tr>
            <tr class="GLKP2TGBCE" __gwt_subrow="0" __gwt_row="1">
                <td class="GLKP2TGBBD GLKP2TGBDE GLKP2TGBED">
                    <div __gwt_cell="cell-gwt-uid-500" style="outline-style:none;">
                        <input type="checkbox" tabindex="-1" />
                    </div>
                </td>
                <td class="GLKP2TGBBD GLKP2TGBDE">
                    <div __gwt_cell="cell-gwt-uid-501" style="outline-style:none;">DATASET</div>
                </td>
                <td class="GLKP2TGBBD GLKP2TGBDE GLKP2TGBOD">
                    <div __gwt_cell="cell-gwt-uid-502" style="outline-style:none;" />
                </td>
            </tr>
            <tr class="GLKP2TGBCD" __gwt_subrow="0" __gwt_row="2">
                <td class="GLKP2TGBBD GLKP2TGBDD GLKP2TGBED">
                    <div __gwt_cell="cell-gwt-uid-500" style="outline-style:none;">
                        <input type="checkbox" tabindex="-1" />
                    </div>
                </td>
                <td class="GLKP2TGBBD GLKP2TGBDD">
                    <div __gwt_cell="cell-gwt-uid-501" style="outline-style:none;">ID</div>
                </td>
                <td class="GLKP2TGBBD GLKP2TGBDD GLKP2TGBOD">
                    <div __gwt_cell="cell-gwt-uid-502" style="outline-style:none;" />
                </td>
            </tr>
            <tr class="GLKP2TGBCE" __gwt_subrow="0" __gwt_row="3">
                <td class="GLKP2TGBBD GLKP2TGBDE GLKP2TGBED">
                    <div __gwt_cell="cell-gwt-uid-500" style="outline-style:none;">
                        <input type="checkbox" tabindex="-1" />
                    </div>
                </td>
                <td class="GLKP2TGBBD GLKP2TGBDE">
                    <div __gwt_cell="cell-gwt-uid-501" style="outline-style:none;">MATCH_AUDIT</div>
                </td>
                <td class="GLKP2TGBBD GLKP2TGBDE GLKP2TGBOD">
                    <div __gwt_cell="cell-gwt-uid-502" style="outline-style:none;" />
                </td>
            </tr>
            <tr class="GLKP2TGBCD" __gwt_subrow="0" __gwt_row="4">
                <td class="GLKP2TGBBD GLKP2TGBDD GLKP2TGBED">
                    <div __gwt_cell="cell-gwt-uid-500" style="outline-style:none;">
                        <input type="checkbox" tabindex="-1" />
                    </div>
                </td>
                <td class="GLKP2TGBBD GLKP2TGBDD">
                    <div __gwt_cell="cell-gwt-uid-501" style="outline-style:none;">EXPANDED_MATCH_AUDIT</div>
                </td>
                <td class="GLKP2TGBBD GLKP2TGBDD GLKP2TGBOD">
                    <div __gwt_cell="cell-gwt-uid-502" style="outline-style:none;" />
                </td>
            </tr>
            <tr class="GLKP2TGBCE" __gwt_subrow="0" __gwt_row="5">
                <td class="GLKP2TGBBD GLKP2TGBDE GLKP2TGBED">
                    <div __gwt_cell="cell-gwt-uid-500" style="outline-style:none;">
                        <input type="checkbox" tabindex="-1" />
                    </div>
                </td>
                <td class="GLKP2TGBBD GLKP2TGBDE">
                    <div __gwt_cell="cell-gwt-uid-501" style="outline-style:none;">INTERNAL_ID</div>
                </td>
                <td class="GLKP2TGBBD GLKP2TGBDE GLKP2TGBOD">
                    <div __gwt_cell="cell-gwt-uid-502" style="outline-style:none;" />
                </td>
            </tr>
            <tr class="GLKP2TGBCD" __gwt_subrow="0" __gwt_row="6">
                <td class="GLKP2TGBBD GLKP2TGBDD GLKP2TGBED">
                    <div __gwt_cell="cell-gwt-uid-500" style="outline-style:none;">
                        <input type="checkbox" tabindex="-1" />
                    </div>
                </td>
                <td class="GLKP2TGBBD GLKP2TGBDD">
                    <div __gwt_cell="cell-gwt-uid-501" style="outline-style:none;">USN_DATE</div>
                </td>
                <td class="GLKP2TGBBD GLKP2TGBDD GLKP2TGBOD">
                    <div __gwt_cell="cell-gwt-uid-502" style="outline-style:none;" />
                </td>
            </tr>
            <tr class="GLKP2TGBCE" __gwt_subrow="0" __gwt_row="7">
                <td class="GLKP2TGBBD GLKP2TGBDE GLKP2TGBED">
                    <div __gwt_cell="cell-gwt-uid-500" style="outline-style:none;">
                        <input type="checkbox" tabindex="-1" />
                    </div>
                </td>
                <td class="GLKP2TGBBD GLKP2TGBDE">
                    <div __gwt_cell="cell-gwt-uid-501" style="outline-style:none;">VERSION</div>
                </td>
                <td class="GLKP2TGBBD GLKP2TGBDE GLKP2TGBOD">
                    <div __gwt_cell="cell-gwt-uid-502" style="outline-style:none;" />
                </td>
            </tr>
            <tr class="GLKP2TGBCD" __gwt_subrow="0" __gwt_row="8">
                <tr class="GLKP2TGBCE" __gwt_subrow="0" __gwt_row="9">
                    <tr class="GLKP2TGBCD" __gwt_subrow="0" __gwt_row="10">
        </tbody>
        <tbody style="display: none;">
            <tfoot style="display: none;" aria-hidden="true" />

谢谢, 里亚兹

【问题讨论】:

    标签: css selenium xpath selenium-webdriver


    【解决方案1】:
    //*[text() = 'USN']
    

    这个 xpath 可以工作,但这个查询很长.. 尝试将 text()= 'USN' 与你的一起使用,而不是包含。

    【讨论】:

    • 太好了。知道了。谢谢。
    • 为了其他遇到此问题的人的利益。我现在使用的 XPATH 是 //table[@id="reporting_add_report_tab_manual_ct_fields_avail"]//div[(text()="USN")]/preceding::td[1]//input
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-07
    • 2019-01-21
    • 2012-05-08
    • 1970-01-01
    • 2015-09-13
    相关资源
    最近更新 更多