2016-09-12 4 views
-1

私はそのページでログインリンクをクリックしています。今すぐリンクを開きました。 ログインボタンをクリックすると、新しいタブで自動的に開きます。私はそのタブのフォームに記入する必要があります。私はフォーカスを切り替えることができますが、このタブで何もすることはできませんよ。これによりセカンドタブに焦点を当てて、セレンのwebdriverを使って作業する方法

Actions act = new Actions(Initialsetupfirefox.driver); 
new Actions(Initialsetupfirefox.driver) .keyDown(Keys.CONTROL).click(Initialsetupfirefox.driver.findElement(By.xpath("//a[contains(text(),'LOGIN')]"))) 
     .keyUp(Keys.CONTROL) 
     .perform(); 
     Thread.sleep(3000); 

new Actions(Initialsetupfirefox.driver).sendKeys(Initialsetupfirefox.driver.findElement(By.tagName("html")), Keys.CONTROL).sendKeys(Initialsetupfirefox.driver.findElement(By.tagName("html")),Keys.NUMPAD2).build().perform(); 

:そのために私は次のコードを試してみました。 あなたはこのように行うことができます

+0

あなたは、[ウィンドウを切り替えるために、このリンクを]は、次の要素に相互作用する前に、その新しく開いたタブを切り替える必要があります(http://stackoverflow.com/質問/ 9588827/how-to-the-new-browser-window-of-the-click-on-the-button) –

+0

しかし、切り替えタブを行っています – liki

答えて

1

を提案してください:

Set<String> handles = driver.getWindowHandles(); 
    String currentHandle = driver.getWindowHandle(); 
    for (String handle : handles) { 

    if (!handle .equals(currentHandle)) 
    { 
     driver.switchTo().window(handle); 
    } 
    } 

    //fill your form in the other tab 
    ...... 

    //go back to first tab if you want 
    driver.switchTo().window(currentHandle); 
+0

ありがとうございました。それは本当に私のために働いた – liki

+0

この回答には受け入れてください。 –

+0

はすでにそれを行っています – liki

関連する問題