我正在尝试选中一个复选框,但我无法在其他线程中找到任何解决方案。
下面是下拉列表的HTML代码:
代码:@FindBy(css="input.ng-valid.ng-dirty.ng-touched") WebElement chrgAllocFee;
chrgAllocFee.click();
但是,当我以相同的方式定义和使用时,它不能像其他复选框一样工作。我发现,与其他代码相比,这里的html代码有额外的行
请建议如何定义,以便它可以被识别。
获取方法时出错: org.openqa.selenium.NoSuchElementException:没有这样的元素:无法找到元素:{“”:“css org.openqa.selenium.NoSuchElementException”,"selector":"input.ng-valid.ng-dirty.ng-touched"} (会话信息: chrome=69.0.3497.92)
发布于 2018-10-09 13:31:34
我找到了解决方案:我使用javascript来点击该字段,它工作得很好,代码如下:
JavascriptExecutor js = (JavascriptExecutor)驱动程序;
js.executeScript("arguments.click();",CamWizOR.chrgAllocFee);
CamWizOR.chrgAllocFee -> WebElement名称
@FindBy(xpath="//input@name='ChargeAllocationFee‘和@type='checkbox'")
WebElement chrgAllocFee;
发布于 2018-10-02 14:12:12
所需的元素是一个Angular元素,因此您必须诱导WebDriverWait才能使该元素可单击,并且可以使用以下解决方案之一:
脏接触(驱动程序,脏接触(driver,20).until(ExpectedConditions.elementToBeClickable(By.xpath("//input@class='ng-valid ng-
cssSelector
new ng-WebDriverWait‘20).until(ExpectedConditions.elementToBeClickable(By.xpath(“//input@class=’ng-valid @name='ChargeAllocationFee'"))).click();)(driver,20).until(ExpectedConditions.elementToBeClickable(By.xpath(”//input@class=‘ng-valid ng-WebDriverWait ng-touched
https://stackoverflow.com/questions/52601291
复制相似问题