Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/322.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
Java selenium使用xpath查找元素_Java_Selenium_Xpath - Fatal编程技术网

Java selenium使用xpath查找元素

Java selenium使用xpath查找元素,java,selenium,xpath,Java,Selenium,Xpath,我所做的就是删除一个web应用程序,我需要找到一个特定的元素,但我无法用xpath找到它。 这是我试图找到元素的html代码 <table> <tr> <th class="details"> <label>Name</label> </th> <td class="data"> <div id="...

我所做的就是删除一个web应用程序,我需要找到一个特定的元素,但我无法用xpath找到它。 这是我试图找到元素的html代码

<table>
    <tr>
        <th class="details">
            <label>Name</label>
        </th>
        <td class="data">
            <div id="...">
                <div id="..."></div>
                <input id="..." type="text">
            </div>
        </td>
    </tr>
 ..........
</table>
试试下面的xpath

"//label[contains(.,'Name')]/../following-sibling::td/div/input[@type='text']"

假设DOM结构保持不变。

您应该尝试使用下面的
xpath
:-

String xpath = "(.//label[text() = 'Name']/following::input)[1]";

您可以使用上述
xpath
中的任何一种来查找desire输入元素,如下所示:-

browser.findElement(By.xpath(xpath));

试试这个
//输入[@type='text']
,你在xpath中将
名称
拼错为
Nome
。这些类也在变化吗?像细节一样,我忘了说在这个网站上有多个输入标签,但是类也在改变。
String xpath = ".//label[text() = 'Name']/../following-sibling::td//input";
String xpath = "(.//input[preceding::label[text() = 'Name'])[1]";
String xpath = ".//input[ancestor::td[preceding-sibling::th/label[text() = 'Name']]]";
browser.findElement(By.xpath(xpath));