选择所有表并排除div

时间:2017-08-18 19:55:05

标签: selenium xpath

我正在尝试用python和selenium做一些事情,但我无法让我的xpath工作。我有以下代码:

<div id="ctl00_Main_treeCategories">
<table>
    <tbody>
        <tr>
            <td><a id="ctl00_Main_treeCategoriesn0">Online Catalogus</a></td>
        </tr>
    </tbody>
</table>
<div id="ctl00_Main_treeCategoriesn0Nodes" style="display:block;">
    <table cellpadding="0" cellspacing="0" style="border-width:0;">
        <tbody>
            <tr>
                <td>
                    <div style="width:20px;height:1px"></div>
                </td>
                <td>
                    <a id="ctl00_Main_treeCategoriesn1">Dakraam</a>
                </td>
            </tr>
        </tbody>
    </table>
    <div id="ctl00_Main_treeCategoriesn1Nodes" style="display:block;">
        <table cellpadding="0" cellspacing="0" style="border-width:0;">
            <tbody>
                <tr>
                    <td><div style="width:20px;height:1px"></div></td>
                    <td><div style="width:20px;height:1px"></div></td>
                    <td></td>
                    <td class="treeNode ctl00_Main_treeCategories_2"><a class="ctl00_Main_treeCategories_0 treeNode ctl00_Main_treeCategories_1">Dakraam Duette® &amp; Plissé Saaaaahade</a></td>
                </tr>
            </tbody>
        </table>
    </div>
    <table cellpadding="0" cellspacing="0" style="border-width:0;">
        <tbody><tr>
                <td><div style="width:20px;height:1px"></div></td>
                <td></td>
                <td class="treeNode ctl00_Main_treeCategories_2" style="white-space:nowrap;">
                    <a class="ctl00_Main_treeCategories_0 treeNode ctl00_Main_treeCategories_1">Duette® Fixé &amp; Plissé Shadeeeee</a>
                 </td>
            </tr>
        </tbody>
    </table>
</div>

我尝试选择ctl00_Main_treeCategoriesn0Nodes div中的所有表,并在(ctl00_Main_treeCategoriesn1Nodes)中排除第一级的div。

我试过了:

//*[contains(@id, "ctl00_Main_treeCategoriest")]/div/table/

但这会产生语法错误。

1 个答案:

答案 0 :(得分:1)

XPath上有两个错误:

  • 错误的id(最后t
  • 落后/(不必要)

    //*[contains(@id, "ctl00_Main_treeCategories")]/div[not(@id="ctl00_Main_treeCategoriesn1Nodes")]/table
    

演示:https://3v4l.org/SusIZ

编辑ctl00_Main_treeCategoriesn1Nodes divs

中排除