XPATH-如何在单个xpath表达式中选择单选按钮和文本?

时间:2014-03-17 11:05:55

标签: xpath selenium-webdriver

我的单选按钮的值为“CREDIT_CARD”,单选按钮的文本为“New”。现在我需要选择一个单词“New”的单选按钮。

<div>
<input type="radio" onchange="javascript:toggleAdvancedDisplay('pay_detail','CREDIT_CARD');" value="CREDIT_CARD" name="payment_type" style="margin:0; vertical-align: middle;"/>
<span class="value">New</span>

我尝试了下面的xpath,但它找不到预期的元素。

/fieldset[1]/div/div/div[2]/input[@value='CREDIT_CARD']/fieldset[1]/div/div/div[2]/span[contains(text(), 'New')]

我在这里做错了什么?

3 个答案:

答案 0 :(得分:3)

您可以尝试:

xpath = //input[@value='CREDIT_CARD' and following-sibling::span[contains(., 'New')]]

这将获得带有CREDIT_CARD作为值的输入标记,其兄弟包含New作为文本。

答案 1 :(得分:2)

<span>元素不是<input>元素的子元素,但它是下一个兄弟元素。 XPath应该是:

/fieldset[1]/div/div/div[2]/input[@value='CREDIT_CARD' and following-sibling::span[1] = 'New']

答案 2 :(得分:0)

试试这个。这是否找到了您正在寻找的元素?

xpath = //*[@value="CREDIT_CARD"]/span[contains(.,"New")]