Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么我不能使用Selenium选择单选按钮?按钮高亮显示,但未选中_Selenium_Webdriver - Fatal编程技术网

为什么我不能使用Selenium选择单选按钮?按钮高亮显示,但未选中

为什么我不能使用Selenium选择单选按钮?按钮高亮显示,但未选中,selenium,webdriver,Selenium,Webdriver,我在InternetExplorer8中使用C 我有以下单选按钮代码: wait.Until(ExpectedConditions.ElementExists(By.Id("optNoteReplace"))); driver.FindElement(By.Id("optNoteReplace")).Click(); 当我单步浏览代码时,Click命令被静默执行,下一行高亮显示。没有错误,但未选择单选按钮 代码行执行后,单选按钮周围立即出现一个小的模糊正方形。我认为这证明选择了正确的单选按钮

我在InternetExplorer8中使用C

我有以下单选按钮代码:

wait.Until(ExpectedConditions.ElementExists(By.Id("optNoteReplace")));
driver.FindElement(By.Id("optNoteReplace")).Click();
当我单步浏览代码时,Click命令被静默执行,下一行高亮显示。没有错误,但未选择单选按钮

代码行执行后,单选按钮周围立即出现一个小的模糊正方形。我认为这证明选择了正确的单选按钮

如果我更改代码行以选择另一个单选按钮,则第一个按钮上的方块将消失,第二个按钮上的方块将重新出现


我将不胜感激

请注意css选择器或xPAth,您可以使用它来查找radiobutton。 我通常在ffox中使用firepath firebug插件

在java中对我起作用的是:

@Test
    public void radioButtonCheck(){
        driver.get("http://www.abw.by/index.php?act=finance");

        fluentWait(By.cssSelector("html body div table#main_tb tbody tr td#main_td01 div.block table tbody tr td noindex div div table tbody tr td div:first-child>input:first-child")).click();
    }

public WebElement fluentWait(final By locator){
        Wait<WebDriver> wait = new FluentWait<WebDriver>(driver)
                .withTimeout(30, TimeUnit.SECONDS)
//                .pollingEvery(5, TimeUnit.SECONDS)
                .pollingEvery(1, TimeUnit.SECONDS)
                .ignoring(NoSuchElementException.class);

        WebElement foo = wait.until(
                new Function<WebDriver, WebElement>() {
                    public WebElement apply(WebDriver driver) {
                        return driver.findElement(locator);
                    }
                }
        );
        return  foo;              }     ;
也可以尝试改用wait.Until wait。阅读一些关于fluent wait的附加信息


希望这对您有所帮助

我能看到id=optnoteplace的元素代码吗?弗拉德:我想您指的是HTML。如果没有,请让我知道:这个论坛和其他论坛上的一些海报非常慷慨地提供了大约20个不同的等待代码。此时,我只对尝试单击单选按钮感兴趣。我对等待代码不感兴趣。原因如下。我不是技术员。我被要求每周只做几个小时的测试。执行速度不是问题。我使用带有断点的F5和F10从C Visual Studio Express IDE中运行所有代码。当发生错误时,有问题的行高亮显示为黄色…更多…如果有超时,我只需点击F10或F5,直到没有超时错误。在我找到如何单击单选按钮后,我将稍后返回并添加相应的等待代码。请确保只有一个元素具有此Id。另外,尝试使用例如value属性单击它。