Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/375.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Xpath获取相对于给定元素在最近的环境中具有特定标记的元素_Javascript_Html_Selenium_Xpath - Fatal编程技术网

Javascript Xpath获取相对于给定元素在最近的环境中具有特定标记的元素

Javascript Xpath获取相对于给定元素在最近的环境中具有特定标记的元素,javascript,html,selenium,xpath,Javascript,Html,Selenium,Xpath,我有一个id为id的元素,比如uniqueId 它周围有各种各样的标签,我想在它最近的地方找到具体的标签 以下是一个例子: <div> <div> <input> </input> </div> <div> <form> . . <input id="uniqueI

我有一个id为
id
的元素,比如
uniqueId
它周围有各种各样的标签,我想在它最近的地方找到具体的标签

以下是一个例子:

<div>
    <div>
        <input> </input>
    </div>
    <div>
        <form>
            .
                .
                <input id="uniqueId"> </input>
                .
            .
        </form>
    <div>
</div>

.
.
.
.
如果我有say
id=“uniqueId”
的xpath,我想得到say最近的
input
标记

我试过类似的东西
:[@tag=“input”]
/*[@id=“uniqueId”]/parent::以下兄弟姐妹::输入

或者类似于
/*/input/*/[@id=“uniqueId”]

我必须在硒中使用这个


我已经查看了各种Xpath备忘单,但没有达到我的要求。

这将找到
[@id='uniqueId']
元素的第一个
前面的输入。您可以尝试以下操作:

//*[@id='uniqueId']/preceding::input[1]

这就是你要问的吗?

最近的“准确地说是什么意思?还有,什么是
?除此之外,反斜杠在XPath中不起作用。您的任何尝试在语法上都是无效的。您还没有尝试任何操作,一分钟也没有。@Tomalak:Nearest意思是,如果我们从元素的xpath遍历DOM,它必须是最近的<代码>这就是我想问的,我们是否有办法做这样的事情。我更正了输入标记中的斜杠,id为您需要向上移动至少两个级别才能到达div(或者最好使用祖先::form并向上移动一个级别),然后使用前面的同级到达它上面的div,然后在其中获取输入标记。还有您正在尝试使用的xpath父::下面。。。会给你一个语法错误。正是我要找的。我还提出了一些类似的方法:
/*[@id=“professional”]/祖先::div[@data bind=“ojModule:dynamicConfig()”]
/*[@id=“professional”]/../../../../../../../../../../genant::input[@type=“text”]
,但您的解决方案已经到位。