0

Debt Pricing Template をクリックすると表示される新しいウィンドウに切り替えようとしています。しかし、私はそれを行うことができず、その結果、さらにスクリプトを進めることができません...問題は、switchTo.window()価格承認ゲートウェイ ウィンドウが表示され、次が HTML であるため、何を渡す必要があるかを知ることができないことです。新しいウィンドウの場合:

<*h1 class="pageType noSecondHeader">Pricing Approval Gateway<*/h1>

コードは次のとおりです。

LoginPage2.driver.findElement(By.linkText("TEST ORG")).click();

System.out.println("3.Select Dept pricing template button from the organization detail page.");

if(LoginPage2.driver.findElement(By.name("debt_pricing_template")).isDisplayed())

System.out.println("User should able to navigate to Dept pricing template and template display few question, user have answer these question for further navigation.");

LoginPage2.driver.findElement(By.name("debt_pricing_template")).click();

LoginPage2.driver.manage().timeouts().implicitlyWait(100, TimeUnit.SECONDS);

LoginPage2.driver.switchTo().window("bPageTitle");

何を追加する必要があるか教えてください。

4

2 に答える 2

0

テストでは新しいウィンドウを使用していないため、使用したことはありませんが、これが役立つはずです。

Set<string> handlers = driver.getWindowHandles();  
 if (driver.getWindowHandles().size()>= 1){  
   for(String handler : handlers){  
    driver.switchTo().window(handler);  
    if (driver.getElement(By.tagName("h1")).contains("Pricing")){  
      System.out.println("Get focus on Popup window");  
      break;  
    }  
   }  
 }  
 else System.out.println("No windows founded!");  

h1 アプローチについてはよくわかりません。それで解決しない場合は、現在のウィンドウを文字列に保存する新しいウィンドウを開く前に試してください。

String mainWindow = driver.getWindowHandle();

次に、リンクをクリックして (または、現在行っているように別の操作を行って)、新しいウィンドウを開きます。次に、新しいウィンドウに切り替えるには:

 Set<string> handlers = driver.getWindowHandles();  
 for (String handler : handlers){
    if (!handler.equals(mainWindow)){
      driver.switchTo(handler);
      break;
    }
 }

そして、元のウィンドウに戻るには、次のようにします。

driver.switchTo(mainWindow);

もちろん、driver変数はのライブインスタンスであると予想されます WebDriver

于 2012-12-19T10:59:31.813 に答える
-1
driver.findElement(By.linkText("Go to Billing Summary")).click();

driver.findElement(By.linkText("01 Mar 2016")).click();

Thread.sleep(5000);

driver.findElement(By.linkText("AMS TAX")).click();

driver.findElement(By.linkText("00842")).click();

Set<String> instancewindow= driver.getWindowHandles();
    Iterator<String> it = instancewindow.iterator();
    String parent =it.next();
    String child = it.next();
    driver.switchTo().window(child);

driver.switchTo().frame("modalSubWindow");

    driver.findElement(By.linkText("View More Vehicle Details>>")).click();
    driver.switchTo().window(parent);
于 2016-05-16T08:37:16.003 に答える