我已经在这个搜索Stackoverflow,我找到了以前的帖子,但没有帮助,因为代码建议是在C预期'ID'默认鼠标将被映射到其子类型未定义的InputState,得到:pointerMove
WebElement termsElement = driver.findElement(By.xpath("//label[@for='terms']"));
WebElement marketingElement = driver.findElement(By.xpath("//label[@for='allowMarketing']"));
System.out.println(termsElement.isDisplayed() + " & " + marketingElement.isDisplayed());
new Actions(driver).moveToElement(termsElement).click().perform();
new Actions(driver).moveToElement(marketingElement).click().perform();
这会在标题中引发指针异常。 我试过element.click();但它没有采取任何行动,所以我不得不诉诸使用动作指导鼠标。
的打印的System.out.println '真&真',所以元素是可见的,鉴于
相关DOM
<div class="checkbox small">
<input id="terms" class="ng-pristine ng-untouched ng-valid ng-empty" name="terms" ng-model="checkout.TandCsAccepted" ng-click="ClickTsAndCs()" type="checkbox">
<label for="terms">
</div>
<h4 class="margin--top-2x">E-mail Marketing Preferences</h4>
<p></p>
<div class="checkbox small">
<input id="allowMarketing" class="ng-pristine ng-untouched ng-valid ng-empty" value="" name="allowMarketing" ng-model="checkout.AllowMarketing" type="checkbox">
<label for="allowMarketing"> I would like to receive emails, newsletters and offers </label>
</div>
为什么这个异常被抛出?我如何避免它?我试图让它在两个输入框都勾选。 inputelement.click();由于某种奇怪的原因没有工作。这工作完全没在Chrome,只是没有在Firefox
你想要执行什么样的确切步骤?提供相关的HTML DOM。 – DebanjanB
为什么要处理行为?为什么不只是'termsElement.click()'和'marketingElement.click()'?编辑 - 只看到你的更新。我的猜测是你想单击输入,而不是标签或div,即使 – mrfreester
@mrfreester这不起作用的原因有些奇怪,它不会抛出异常,它只是没有做任何事情。是的,你的编辑。 –