2014-09-19 58 views
-1

假设我有以下代码:的XPath没有选择

<div class="Class"> 
<h3>First Title H3</h3> 
    First Description <br /> 
    Choose Option: 
    <select id="Id" name="Name"> 
     <option value="Value1">Option1 $Price1</option> 
     <option value="Value2">Option2 $Price2</option> 
     <option value="Value3">Option3 $Price3</option> 
    </select> 
<h3>Second Title H3</h3> 
    Second Description <a href="https://www.example.com/">Link</a> 
</div> 
  • 什么是XPath来只打印 “首先说明”?
  • 什么是XPath打印“$ Price1”只有(没有/排除“Option1”)? 感谢您的帮助。
+0

试过了什么? – BoltClock 2014-09-19 02:02:58

回答

2

我不确定你想要的输出是什么,但这里有什么应该可以帮到你。

following-sibling::text()会帮助你检查First Description

//div/h3[contains(following-sibling::text(), "First Description")] 

对于select标签的第一option,我会依靠selectid属性和optionvalue属性:

//select[@id="Id"]/option[@value="Value1"]/text() 
+0

谢谢你的回答,alecxe。我会尝试。对不起我的英文,我更新了这个问题。 – pije 2014-09-19 02:24:32

0

String value = driver.findElement(By.xpath(“// * [@ value ='Value1']”)。getText();

String strarr [] = value.split(“”);

System.out.println(“Price1:”+ strarr [1]);

我认为这将起作用,我们正在寻找文本并与空间分离。