首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >无法在使用java的Selenium Webdriver中选择复选框

无法在使用java的Selenium Webdriver中选择复选框
EN

Stack Overflow用户
提问于 2018-10-02 10:36:20
回答 2查看 736关注 0票数 0

我正在尝试选中一个复选框,但我无法在其他线程中找到任何解决方案。

下面是下拉列表的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)

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 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;

票数 0
EN

Stack Overflow用户

发布于 2018-10-02 14:12:12

所需的元素是一个Angular元素,因此您必须诱导WebDriverWait才能使该元素可单击,并且可以使用以下解决方案之一:

脏接触(驱动程序,脏接触(driver,20).until(ExpectedConditions.elementToBeClickable(By.xpath("//input@class='ng-valid ng-

  • cssSelectornew 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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52601291

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档