以下是我选择使用JavaScript onclick()
方法的单选按钮的源代码。
<span class="adControls">
<input id="RdbtnPreviousDate" name="date" value="RdbtnPreviousDate" onclick="javascript:setTimeout('__doPostBack(\'RdbtnPreviousDate\',\'\')', 0)" type="radio"/>
<label for="RdbtnPreviousDate">27-Jul-2017</label>
</span>
我尝试了以下所有代码,但没有一个代码成功运行。
1)wbd.findElement(By.cssSelector("input[id=RdbtnPreviousDate]")).click();
2)wbd.findElement(By.cssSelector("input[value=RdbtnPreviousDate]")).click();
3)
wbd.findElement(By.xpath("html/body/form/table[2]/tbody/tr[1]/td[2]/span[1]/input")).click();
4)wbd.findElement(By.xpath("//[class='adControls'][@id='RdbtnPreviousDate']]")).click();
5)
wbd.findElement(By.cssSelector("input[onclick=javascript:setTimeout('__doPostBack(\'RdbtnPreviousDate\',\'\')', 0)]")).click();
6)
WebElement input = wbd.findElement(By.id("RdbtnNextDate"));
new Actions(wbd).moveToElement(input).click().perform();
一些错误:
线程中的异常&#34; main&#34; org.openqa.selenium.NoSuchElementException: 无法定位元素:#RdbtnNextDate线程中的异常&#34; main&#34; org.openqa.selenium.InvalidSelectorException:给定css选择器 表达 &#34;输入[的onclick = JavaScript的:的setTimeout(&#39; __ doPostBack(&#39; RdbtnPreviousDate&#39;&#39;&#39;)&#39 ;, 0)]&#34;无效:
答案 0 :(得分:0)
尝试执行一个简单的javascript(jQuery)来选择单选按钮
wbd.executeScript("$('input[id=RdbtnPreviousDate]').click()");