web-dev-qa-db-ja.com

ボタンクリックSelenium java

私はボタンを持っています:

<input type="button" onclick="onOpenSessionClick()" value="Open device access">     

しかし、私がコマンドを実行すると:

driver.findElement(By.xpath("//input[@value='Open access device' and @type='submit']")).click();

クリックはしません。これが私のコードです:

if (isElementPresent((By.xpath("//input[@value='Open device access']")))) 
{
    System.out.println("Je suis dans le if");
    Thread.sleep(2000);
    driver.findElement(By.xpath("//input[@value='Open device access' and @type='submit']")).click();
    System.out.println("Je suis dans le if et jai open");
    Thread.sleep(5000);
    assertTrue(isElementPresent(By.xpath("/html/body/div[2]/div[3]/div[3]/div[2]/div/div[2]/div[2]/div/div[6]/div/div/div/p/span")));                       
    assertTrue(isElementPresent(By.xpath("/html/body/div[2]/div[3]/div[3]/div[2]/div/div[2]/div[2]/div/div[6]/div/div/div[2]/input")));                     
    assertTrue(isElementPresent(By.xpath("/html/body/div[2]/div[3]/div[3]/div[2]/div/div[2]/div[2]/div/div[6]/div/div/div[2]/input[2]")));                      
    System.out.println("Je suis dans le if et je cherche");
}
6
Julien P.

あなたの場合のtypebuttonであり、submitではありません。

これを試してください//input[@value='Open device access']または//input[@value='Open device access' and @type='button']

3
Ievgen

これもCSSセレクターとして試すことができます

driver.findElement(By.cssSelector("input[type='button'][value='Open device access']")).click();

または

driver.findElement(By.cssSelector("input[type='button']")).click();
3
Omkar

このボタンがフレーム上にあるかどうかを確認できます。そうである場合は、フレームに切り替えてから、見つけてクリックする必要があります。

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

0
Sagar Ajmire