【问题标题】:Get wrapping element by XPath通过 XPath 获取包装元素
【发布时间】:2015-04-02 19:18:18
【问题描述】:

我有这个标记:

<div class="whatever">
    <input id="uniqueId" type="checkbox">
    <label for="uniqueId">best label ever</label>
</div>

当然,我可以使用 XPath

通过其id 获取输入
//div[contains(@class, 'whatever')]/input[@id='uniqueId']

但是如何定位包装div?可能有几个,都带有class="whatever"

感谢您的宝贵时间。

【问题讨论】:

    标签: html dom xpath


    【解决方案1】:

    这里基本上有两个条件:contains 一个和后代一个。你需要将它们与and结合起来:

    //div[contains(@class, 'whatever') and input[@id='uniqueId']]
    

    【讨论】:

    • 冒着被吹毛求疵的风险,你可以省略./来缩短表达式。
    • @MathiasMüller 当然,你说的很对。 (如果你不能对 StackOverflow 挑剔,那有什么意义呢?)
    • 另外,我可以使用以下方法获取元素://div[contains(@class, 'whatever')]/input[@id='uniqueId']/..
    猜你喜欢
    • 2020-08-14
    • 2021-02-13
    • 1970-01-01
    • 2020-07-19
    • 2015-09-02
    • 2022-07-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多