首页 > 解决方案 > 点击收音机

问题描述

我检查了其他类似的帖子,但他们无法帮助我。我刚开始使用 Selenium,但无法单击单选按钮。

这就是检查器中的内容。

input id="createCreds" name="addUser" aria-required="true" ng-model="formData.newUserType" ng-required="addNewUser.$submitted && !formData.newUserType" "="" class="ng-valid ng-valid-required ng-dirty ng-valid-parse ng-touched" aria-checked="true" aria-invalid="false" value="createCreds" type="radio"

这是我尝试过的

我试图在 6 分钟左右复制这个人。 https://www.youtube.com/watch?v=BKbzW4S2qQ0

我希望找到类似 Click RadioButton css=#createCreds 或 xpath=//*[@id="createCreds"]

标签: seleniumselenium-webdriverxpathcss-selectorswebdriver

解决方案


根据您共享的HTML,单击单选按钮,因为该元素是一个Angular元素,您必须诱导WebDriverWait并且您可以使用以下任一选项,如下所示:

  • 选择器

    new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.cssSelector("input.ng-valid.ng-valid-required.ng-dirty.ng-valid-parse.ng-touched#createCreds"))).click();
    
  • 路径

    new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.xpath("//input[@class='ng-valid ng-valid-required ng-dirty ng-valid-parse ng-touched' and @id='createCreds']"))).click();
    

推荐阅读