私はボタンを持っています:
<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");
}
あなたの場合のtype
はbutton
であり、submit
ではありません。
これを試してください//input[@value='Open device access']
または//input[@value='Open device access' and @type='button']
これもCSSセレクターとして試すことができます
driver.findElement(By.cssSelector("input[type='button'][value='Open device access']")).click();
または
driver.findElement(By.cssSelector("input[type='button']")).click();
このボタンがフレーム上にあるかどうかを確認できます。そうである場合は、フレームに切り替えてから、見つけてクリックする必要があります。
これがお役に立てば幸いです。