下面是我的应用程序的HTML代码段。我的方案是单击单选按钮。我使用的xpath是//input[@id='authorizedContact1']
,但仍然无法单击“单选”按钮。
HTML是:
<div class="radio">
<input id="authorizedContact1" name="authorizedContactValue" class="authorizedContact" type="radio">
<label for="authorizedContact1">
::before ==$0
"YES"
::after
</label>
</div>
这是我在Selenium中使用的代码
WebDriverWait wait = new WebDriverWait(_driver, TimeSpan.FromSeconds(100));
IWebElement element = wait.Until(ExpectedConditions.ElementIsVisible(By.XPath("//input[@id='authorizedContact1']")));
element.Click();
我将XPATH用作//input[@id='authorizedContact1']
,但仍然无法单击“单选”按钮,任何人都可以在此帮助我
答案 0 :(得分:0)
由于您需要在元素上Click()
,因此需要为ElementToBeClickable()
诱导 WebDriverWait ,并且可以使用Locator Strategies中的任何一个:
CssSelector
:
new WebDriverWait(_driver, TimeSpan.FromSeconds(100)).Until(ExpectedConditions.ElementToBeClickable(By.CssSelector("label[for='authorizedContact1']"))).Click();
XPath
:
new WebDriverWait(_driver, TimeSpan.FromSeconds(100)).Until(ExpectedConditions.ElementToBeClickable(By.XPath("//label[@for='authorizedContact1']"))).Click();