ログインフォームを表示するページがあります。Firefox の firebug を使用して、ユーザー名 id = txtUsername を識別し、パスワード テキスト ボックスは txtPassword です。Firefoxではすべて問題ありません。しかし、IE Explorer ブラウザーに移行すると、エラーが発生し、要素を見つけることができません。
ページを調べたところ、JavaScript 関数によってフォームがレンダリングされていることがわかりました。以下はhtmlです:
form name="frmLogin" id="frmLogin" onsubmit="return $('#frmLogon').valid();" action="default.aspx" method="post" jQuery172043="1" novalidate="novalidate"
Selenium Webdriver を使用してページ要素を見つけるにはどうすればよいですか。
これは私が書いたコードです。
/* setup for IE. Remove if not needed */
File file = new File("C:/SeleniumJavaLibrary/selenium-2.28.0/IEDriverServer.exe");
System.setProperty("webdriver.ie.driver", file.getAbsolutePath());
DesiredCapabilities caps = DesiredCapabilities.internetExplorer();
caps.setCapability("ignoreZoomSetting", true);
WebDriver driver = new InternetExplorerDriver(caps);
driver.manage().timeouts().implicitlyWait(28,TimeUnit.SECONDS );
/*setup for IE*/
driver.get("http://website.com");
WebElement element = (WebElement) ((JavascriptExecutor)driver).executeScript("return $('#frmLogin').valid();");
element.findElement(By.name("txtUsername")).sendKeys("user");
element.findElement(By.name("txtPassword")).sendKeys("password");