我正試圖在新選項卡上讀取對象,但驅動程序的重點不在於此。這裏是一個場景: 1.打開Gmail。 2.點擊Gmail網站下方的「期限」鏈接。新標籤頁將打開。 3.從術語鏈接的新選項卡中讀取任何對象。無法在硒瀏覽器中的新標籤中設置焦點?
無法執行步驟3.下面是代碼
WebDriver driver= new ChromeDriver();
driver.get("http://gmail.com");
driver.manage().window().maximize();
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
Thread.sleep(2000);
String Mainwindow = driver.getWindowHandle();
boolean Term = driver.findElement(By.xpath("//*[@id='footer-list']/li[3]/a")).isDisplayed();
if(Term){
driver.findElement(By.xpath("//*[@id='footer-list']/li[3]/a")).click();
}
else{
driver.findElement(By.xpath("html/body/footer/div/div[5]/div[1]/a[4]")).click();
// this is written for IE and Mozila
}
Set<String> set = driver.getWindowHandles();
System.out.println(set.size());
Iterator<String> it = set.iterator();
String main =it.next();
String maintab =it.next();
System.out.println(maintab);
driver.switchTo().window(maintab);
Thread.sleep(10000);
driver.findElement(By.xpath("//*[@id='maia-nav-y']/ul/li[1]")).sendKeys(Keys.PAGE_DOWN);
Thread.sleep(3000);
driver.findElement(By.xpath(".//*[@id='maia-nav-y']/ul/li[1]")).sendKeys(Keys.PAGE_UP);
Thread.sleep(3000);
driver.findElement(By.xpath(".//*[@id='maia-nav-y']/ul/li[1]")).sendKeys(Keys.BACK_SPACE);
driver.switchTo().window(main);
}}
將它的事項?我需要調用鍵盤的方法他的網頁只能通過API的SendKeys算得上 –
請幫忙的工作狀態 –
作爲提供代碼,不存在'的input'元素第二個ta b,'sendKeys'會拋出錯誤。然而,如果你只是想上下滾動頁面,我已經展示了在我更新的答案中實現這一點的方法之一。讓我知道,如果你有任何進一步的疑問。 – Mahipal