0

Internet Explorer 8 で C# を使用しています。

ラジオボタンの次のコードがあります。

wait.Until(ExpectedConditions.ElementExists(By.Id("optNoteReplace")));
driver.FindElement(By.Id("optNoteReplace")).Click();

コードを 1 ステップ実行すると、Click コマンドがサイレントに実行され、次の行が強調表示されます。エラーはありませんが、ラジオボタンが選択されていません。

コード行が実行された直後に、ラジオ ボタンの周りに小さな四角形が表示されます。正しいラジオボタンが選択されている証拠だと思います。

他のラジオ ボタンを選択するようにコード行を変更すると、最初のボタンから四角形が消え、2 番目のボタンの周りに再び表示されます。

どんな援助にも感謝します。

4

1 に答える 1

0

ラジオボタンを見つけるために使用する css セレクターまたは xPAth に注意してください。私は通常firepath(ffoxの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 fluent を使用してみてください。ここで流暢な待機に関する追加情報を読んでください

これがお役に立てば幸いです)

于 2012-09-12T14:12:57.877 に答える