我使用selenium導航到頁面並使用Internet Explorer進行屏幕截圖。但問題是登錄被JavaScript警告框所照顧。現在Selenium有一個工具,通過使用警報元素可以將焦點帶到警報框中,並且我設法使用焦點並在用戶名文本框中輸入一些值。在用戶名和密碼文本框之間切換,並使用Selenium WebDriver輸入對應的值java
問題是Selenium沒有將焦點切換到密碼文本框,並在同一個框中輸入用戶名和密碼。我嘗試使用Java AWT Robot單擊Tab鍵並更改焦點,但Selenium無法識別此問題,並繼續在同一個框中輸入用戶名和密碼。
下面是我的代碼:
Robot robot = new Robot();
driver.get("the url");
Alert alert = driver.switchTo().alert();
alert.sendKeys("username");
robot.keyPress(KeyEvent.VK_TAB);
alert.sendKeys("password");
alert.accept();
缺少什麼我在這裏?我的方法在這裏是正確的還是必須採取不同的路線?
嗨,我已經更新了我的code.please檢查,我不小心將它複製了兩次。焦點由AWT完成,即它切換到密碼文本框,但它沒有被selenium識別,這就是問題在這裏。 – Madusudanan 2013-03-21 10:12:05
嗨Madusudanan使用此 StringSelection stringSelection = new StringSelection(「password」); ().getSystemClipboard()。setContents(stringSelection,null); 機器人機器人=新機器人();警報警報= dr.switchTo()。alert(); dr.get(「the url」); alert.sendKeys(「username」); (); alert(); robot.keyPress(KeyEvent.VK_TAB); robot.keyPress(KeyEvent.VK_CONTROL); //複製 robot.keyPress(KeyEvent.VK_V); robot.keyRelease(KeyEvent.VK_V); robot.keyRelease(KeyEvent.VK_CONTROL); alert.accept(); – selva 2013-03-21 12:04:34
其工作。我添加了一些更多的robot.keyPress(KeyEvent.VK_ENTER); robot.keyRelease(KeyEvent.VK_ENTER);其中確實按下了彈出的確定按鈕。非常感謝您的幫助:)。 – Madusudanan 2013-03-21 12:31:17