Java 我试图在selenium中选择一个复选框,但我无法,为什么?

Java 我试图在selenium中选择一个复选框,但我无法,为什么?,java,selenium,xpath,checkbox,selenium-webdriver,Java,Selenium,Xpath,Checkbox,Selenium Webdriver,我的代码中有一个复选框,我正在尝试选择它。我也尝试过绝对xpath,但它没有被选中。 代码粘贴在下面。有人能帮我吗 <label for="brandFilter*">ALL</label> <div class="dijit dijitReset dijitInline dijitCheckBox dijitCheckBoxHover dijitHover dijitCheckBoxFocused dijitCheckBoxHoverFocused dijitHo

我的代码中有一个复选框,我正在尝试选择它。我也尝试过绝对xpath,但它没有被选中。 代码粘贴在下面。有人能帮我吗

<label for="brandFilter*">ALL</label>
<div class="dijit dijitReset dijitInline dijitCheckBox dijitCheckBoxHover dijitHover dijitCheckBoxFocused dijitCheckBoxHoverFocused dijitHoverFocused dijitFocused" role="presentation" widgetid="brandFilter1">
<input id="brandFilter1" class="dijitReset dijitCheckBoxInput" type="checkbox" dojoattachevent="onclick:_onClick" dojoattachpoint="focusNode" name="brandFilter" style="-moz-user-select: none;" tabindex="0" aria-pressed="false"/>
</div>
<label class="dijitFocusedLabel" for="brandFilter1">Power Systems</label
全部

电力系统当您搜索所需元件时,它看起来好像有一个加载指示器位于所需元件的顶部。等待所需元素变为可单击:

或者,等待加载指示器消失:

WebDriverWait wait = WebDriverWait(driver, 10);
wait.until(ExpectedConditions.invisibilityOfElementLocated(By.ID("results-loading")));

WebElement brandFilter = driver.findElement(By.ID("brandFilter1"));
brandFilter.click();

还有什么可以帮助:

  • 最大化浏览器窗口:

    driver.manage().window().maximize();
    
  • 滚动到元素的视图中:

    JavascriptExecutor js = (JavascriptExecutor) driver;
    js.executeScript("arguments[0].scrollIntoView();", brandFilter);
    

在搜索所需元素时,该元素的顶部似乎有一个加载指示器。等待所需元素变为可单击:

或者,等待加载指示器消失:

WebDriverWait wait = WebDriverWait(driver, 10);
wait.until(ExpectedConditions.invisibilityOfElementLocated(By.ID("results-loading")));

WebElement brandFilter = driver.findElement(By.ID("brandFilter1"));
brandFilter.click();

还有什么可以帮助:

  • 最大化浏览器窗口:

    driver.manage().window().maximize();
    
  • 滚动到元素的视图中:

    JavascriptExecutor js = (JavascriptExecutor) driver;
    js.executeScript("arguments[0].scrollIntoView();", brandFilter);
    

您使用的是chrome驱动程序吗?请同时发布您的java代码好吗?您遇到的例外情况是,另一个元素遮挡了您要单击的复选框。在单击之前,您可能需要等待模式、警报或加载抖动消失,或者等待页面完成呈现。可能导致此问题的其他原因可能是浮动页眉/页脚。在这种情况下,您需要将该元素滚动到视图中。@任务-是的,我使用的是chrome驱动程序,您使用的是chrome驱动程序吗?您可以同时发布java代码吗?您收到的异常情况是,另一个元素遮挡了您要单击的复选框。在单击之前,您可能需要等待模式、警报或加载抖动消失,或者等待页面完成呈现。可能导致此问题的其他原因可能是浮动页眉/页脚。在这种情况下,您需要将元素滚动到视图中。@任务-是,我正在使用chrome驱动程序