我正在尝试根据地址名称选择一个单选按钮。下面我需要选择具有名称的范围或单选按钮本身。无论哪种方式看起来都会选择单选按钮。我需要根据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语法的许多其他差异,但这些是我现在留下的例子。谢谢你的帮助。
答案 0 :(得分:3)
您可以在XPath下方尝试通过部分文本找到所需的单选按钮:
@Override
public void onPageSelected(int position) {
Fragment fragment = adapter.getFragment(position);
if (fragment != null) {
fragment.onResume();
}
}