Selenium 点击收音机

Selenium 点击收音机,selenium,selenium-webdriver,xpath,css-selectors,webdriver,Selenium,Selenium Webdriver,Xpath,Css Selectors,Webdriver,我查看了其他类似的帖子,但他们无法帮助我。我刚开始使用Selenium,但单击单选按钮时遇到问题 这就是督察室里的东西 input id="createCreds" name="addUser" aria-required="true" ng-model="formData.newUserType" ng-required="addNewUser.$submitted && !formData.newUserType" "="" class="ng-valid n

我查看了其他类似的帖子,但他们无法帮助我。我刚开始使用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"
这是我试过的

  • 试验1:

    WebElement  userRadioBtn = driver.findElement(By.id("createCreds"));
    userRadioBtn.click();
    
  • 试验2:

    driver.findElement(By.xpath("//*[@id="createCreds"]']")).click();
    
  • 试验3:

    driver.findElement(By.id("createCreds")).click();
    
  • 试验4:

    input[@value='createCreds']/following-sibling::label
    
我试着在6分钟左右模仿这个家伙。

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

的东西,根据您共享的HTML单击单选按钮,因为该元素是一个角度元素,您必须诱导WebDriverWait,并且可以使用以下选项之一:

  • css选择器

    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();
    
  • xpath

    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();