我正在尝试根据地址的名称选择一个单选按钮。下面,我需要选择具有名称的范围或单选按钮本身。无论哪种方式,它都会选择单选按钮。我需要根据span类中的名称执行此操作。在人名之前有一个随机的空格,所以我一直在尝试用包含John Doe的来代替StartsWith。
<div data-a-input-name="selectedAddress" class="a-radio">
<label><input name="selectedAddress" value="113290190603" type="radio">
<i class="a-icon a-icon-radio"></i>
<span class="a-label a-radio-label">
John Doe, Something RD, Some City, State, #####-####, Phone: #####
</span>
</label>
</div>
不管我怎么努力,我似乎都无法得到正确的语法。以下是我尝试的一些语法:
var Xpath = "//span[contains(@class,'a-label a-radio-label')][contains(text(),'" + shipName + "')]]";
var radio = driver.FindElement(By.XPath(Xpath));
radio.Click();
还有这个:
var Xpath = ".//input[following-sibling::strong[contains(.,'" + shipName + "')]]";
var radio = driver.FindElement(By.XPath(Xpath));
radio.Click();
我无法使用XPath指向特定点,因为我要查找的项可能不一定位于相同的有序位置。这就是为什么我需要按名称搜索它。我也不能通过输入的值来完成,因为我事先不知道这些信息。实际上,我已经尝试了上述两种XPATH语法的许多其他变体,但这些就是我现在留下的示例。谢谢你的帮助。