我的单选按钮的值为“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')]
我在这里做错了什么?
答案 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")]