如何通过Java硒找到相关的webElement

时间:2019-01-29 07:59:28

标签: java xml selenium intellij-idea

请在下面的enter image description here附件中查看相关的XML代码和我的Java代码以找到元素:

Java代码:

    //Set date range
    WebElement parentStartdate = obj.findElement(By.xpath("//[@id=typein_[Parameters].[Parameter 3]]"));
    WebElement child=parentStartdate.findElement(By.xpath("//input[@value='1/1/2019']"));

我收到以下错误: 线程“主”中的异常org.openqa.selenium.InvalidSelectorException:无效选择器:由于以下错误,无法使用xpath表达式///[@id=typein_[Parameters].[Parameter 3]]定位元素: SyntaxError:无法在'Document'上执行'evaluate':字符串'//[@id=typein_[Parameters]。[Parameter3]]'不是有效的XPath表达式。

任何帮助表示赞赏!

enter image description here

整个xml结构: enter image description here

3 个答案:

答案 0 :(得分:1)

如错误消息所述,那不是有效的Xpath表达式。选择第一个元素

WebElement parentStartdate = obj.findElement(By.xpath("//span[@class='TypeInQuerySpan']/input"));

答案 1 :(得分:1)

如果网页上只有一个QueryBox,则可以根据情况使用以下xpath选择元素:

WebElement element = driver.findElement(By.xpath("//input[@class='QueryBox']"));

答案 2 :(得分:1)

尝试使用此选择器:

//div[contains(@class, 'TypeInDiv')]/span[@class="TypeInQuerySpan"]/input[@type='text'][@class='QueryBox'][@value='1/1/2019']

输入的3个标识符不是必需的,您可以选择1或2,也可以保留全部3个。