Selenium-Onclick()JavaScript问题

时间:2017-07-28 07:20:34

标签: javascript webdriver

以下是我选择使用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;无效:

1 个答案:

答案 0 :(得分:0)

尝试执行一个简单的javascript(jQuery)来选择单选按钮

wbd.executeScript("$('input[id=RdbtnPreviousDate]').click()");