的Windows在处理硒webdriver的用java

问题描述:

我有一种情况如下的Windows在处理硒webdriver的用java

1. Login to the application 
2. click on a button (say Buy) 
3. This will take me to a new window opened with a new URL automatically 
4. Perform actions in the new window 
5. Quit 

请请提供确切的代码在这方面努力。我试图与存在于其中没有工作,我的网站使用的码

+0

http://toolsqa.com/selenium-webdriver/switch-commands/ – Priya

+0

我希望上面的代码应该适合你。让您切换到子窗口并执行操作。另外它还有一个练习的例子,它给出了有关窗口之间切换的信息 – Priya

+0

请参阅https://*.com/help/how-to-ask。至少你应该提及你采取了哪些步骤,但这些步骤对你来说并不奏效,而且这个错误是怎么回事。只需复制和粘贴任何问题,不会让你在任何地方,并会吸引倒票。 – demouser123

您可以尝试以下模式: -

Webdriver driver = new ChromeDriver(); 
    driver.get("URL of application"); 
    driver.findElement(By.id("username").sendKeys("user1"); 
    driver.findElement(By.id("password").sendKeys("pass1"); 
    driver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS); 
    driver.findElement(By.xPath("xpath of button").click(); 

//现在你可以切换到弹出并相应地接受或拒绝它

driver.switchTo().alert().accept(); 

    driver.quit(); 

如果您向SO社区提供应用程序的URL,那么只能提供完整的代码。

+0

我认为你误解了OP的问题,因为警报不在这里发挥作用。我想你可能也无法正确理解隐含的等待。隐式等待应在驱动程序初始化后定义,并且您需要三秒以上。您的前两个findelement语句可能会失败,因为没有定义隐式等待。 –

+0

@Bill,我非常清楚这个问题,因为Meghasri的陈述是笼统的,所以我的回答是笼统的,所以她可以根据需要进一步加强。就隐含的等待时间而言,这只是一个例子,因为我们不知道应用程序及其行为,因此我只输入了任意数字。对于前2个findelements,如果页面刷新则需要等待,否则不需要等待。 – Deepak