【问题标题】:Selenium XPATH I am looking for an input field in a HTML table which has a specific text valueSelenium XPATH 我正在寻找具有特定文本值的 HTML 表中的输入字段
【发布时间】:2016-03-15 19:01:47
【问题描述】:

我有一个带有几行输入字段的 HTML 表格。每个输入字段都有一个值。 我正在寻找的输入字段是任何包含文本“过滤器”的输入字段 实际文本是“filter2”或者它可能是“filter3” 我可以在 Xpath 中使用 contains 关键字来查找 @value 属性的“过滤器”吗?

我构建的 XPATH 是:

//table[@id="reporting_add_report_tab_manual_ct_match_filters"]/tbody//tr//td//input[@value="filter2"]

我想在 value 属性中找到它有过滤器的输入字段,排除数字 2

HTML sn-p 是:

<table id="reporting_add_report_tab_manual_ct_match_filters" class="GJPPK2LBAV border" cellspacing="0"
       __gwtcellbasedwidgetimpldispatchingfocus="true" __gwtcellbasedwidgetimpldispatchingblur="true">
    <thead aria-hidden="false">
    <colgroup>
    <tbody style="">
    <tr class="GJPPK2LBCD GJPPK2LBMD" __gwt_subrow="0" __gwt_row="0">
        <td class="GJPPK2LBBD GJPPK2LBDD GJPPK2LBED">
            <div __gwt_cell="cell-gwt-uid-684" style="outline-style:none;">
                <input type="checkbox" tabindex="-1"/>
            </div>
        </td>
        <td class="GJPPK2LBBD GJPPK2LBDD">
            <div __gwt_cell="cell-gwt-uid-685" style="outline-style:none;">
<span>
<input type="text" tabindex="-1" value="rule1"/>
</span>
<span>
            </div>
        </td>
        <td class="GJPPK2LBBD GJPPK2LBDD GJPPK2LBOD">
    </tr>
    <tr class="GJPPK2LBCE" __gwt_subrow="0" __gwt_row="1">
        <td class="GJPPK2LBBD GJPPK2LBDE GJPPK2LBED">
            <div __gwt_cell="cell-gwt-uid-684" style="outline-style:none;">
                <input type="checkbox" tabindex="-1"/>
            </div>
        </td>
        <td class="GJPPK2LBBD GJPPK2LBDE">
            <div __gwt_cell="cell-gwt-uid-685" style="outline-style:none;">
<span>
<input type="text" tabindex="-1" value="filter2"/>
</span>
<span>
<div style="color:red;font-style:italic;"/>
</span>
            </div>
        </td>
        <td class="GJPPK2LBBD GJPPK2LBDE GJPPK2LBOD">
    </tr>
    </tbody>
    <tbody style="display: none;">
    <tfoot style="display: none;" aria-hidden="true"/>
</table>

谢谢, 里亚兹

【问题讨论】:

    标签: python-2.7 xpath selenium-webdriver


    【解决方案1】:
    //table[@id="reporting_add_report_tab_manual_ct_match_filters"]/tbody/tr/td//input[@value!="filter2"][contains(@value,"filter")]
    

    【讨论】:

    • @value!="filter2" 是干什么用的? //table[@id="reporting_add_report_tab_manual_ct_match_filters"]/tbody/tr/td//input[contains(@value,"filter")] 应该这样做。
    • 一旦我找到具有值过滤器的输入元素,我将使用 selenium send_keys 在输入字段中输入一些文本。我的方法会带一个参数,这个参数会将它输入到报告的文本字段中
    • 这对我有用,我可以使用 //table[@id="reporting_edit_report_tab_manual_ct_match_filters"]/tbody/tr/td//input[contains(@value,"filter")] 谢谢,
    • 我弄错了。我以为你想要所有input,其@value 包含除“filter2”之外的“filter”。但是您显然想要“filter2”,只是没有“2”。那么你当然可以省略[@value!="filter2"]。很高兴我能帮上忙。
    猜你喜欢
    • 2016-02-19
    • 2016-01-18
    • 1970-01-01
    • 1970-01-01
    • 2015-03-10
    • 2019-08-19
    • 1970-01-01
    • 2019-06-04
    • 2017-10-06
    相关资源
    最近更新 更多