区块链技术博客
www.b2bchain.cn

Selenium Webdriver窗口处理C#切换失败 – c#程序员分享

本文介绍了Selenium Webdriver窗口处理C#切换失败 – c#程序员分享,有助于帮助完成毕业设计以及求职,是一篇很好的资料。

对技术面试,学习经验等有一些体会,在此分享。

在测试过程中会弹出2个窗口。

我的代码:

string BaseWindow = driver.CurrentWindowHandle;                  ReadOnlyCollection<string> handles = driver.WindowHandles;  foreach(string handle in handles)                     {                              Boolean a = driver.SwitchTo().Window(handle).Url.Contains("Main");     if (a == true)       {                InitialSetting.driver.SwitchTo().Window(handle);               break;     }   }                 

我想切换到URL包含“ Main”的窗口。但是,当测试运行时,它会在两个窗口之间连续切换,并且不会停止。

我调试后发现,即使foreach为true,boolean a也不会中断。

我该如何解决?

参考方案

//switch to new window  driver.FindElement(By.Id("link")).Click();   //wait for new window to open  Thread.Sleep(2000);   //get the current window handles  string popupHandle = string.Empty;  ReadOnlyCollection<string> windowHandles = driver.WindowHandles;    foreach (string handle in windowHandles)   {       if (handle != existingWindowHandle)       {            popupHandle = handle; break;       }   }     //switch to new window  driver.SwitchTo().Window(popupHandle);   //check for element on new page  webElement = driver.FindElement(By.Id("four04msg"));  if(webElement.Text == "THE CONTENT YOU REQUESTED COULDN’T BE FOUND...")   {       return false;   }   else   {       return true;   }     //close the new window to navigate to the previous one driver.close();   //switch back to original window  driver.SwitchTo().Window(existingWindowHandle); 

我正在开发一个Windows应用程序,该应用程序可以通过语音命令操纵浏览器。我想适当地处理用户添加一些标签并根据需要更改所选标签的情况。事实证明,RemoteDriver仅与一个选项卡一起使用,并且可以通过提供选项卡手柄将焦点切换到另一个选项卡。但是我不知道如何获取选定的选项卡句柄并始终检查选定的选项卡是否已更改,或者是否存在始终与选定的选项卡一起使用的方法…

我正在尝试使用Selenium在Python中运行功能测试,我想在某个页面上声明的Javascript中检索全局变量的值。通常,browser.execute_script("return globalVar;")可以正常工作,但是在$(document).ready(function(){中声明了该变量,Selenium无法找到它。因此…

我正在抓取一长串的html链接(在ToS下允许)。但是,所有链接都是javascript调用(href =“ javascript :;”),因此使用get_attribute()获取链接将不起作用。我不想实际单击所有链接,因为它会为每个链接下载一个较大的pdf文件是否有可能获得最终调用的href /链接,而无需实际单击链接并下载文件?谢谢! 参考方案 是的…

我正在使用python硒进行一些搜索。在我查询的一个网页上,搜索对话框允许我通过下拉菜单指定是否要搜索所有部分或特定部分。要选择哪个部分,该站点在弹出窗口中有一些单独的对话框,我可以单击一个部分,然后在内部为下拉菜单中的“此部分”选项分配选定部分的值。这是检查选择器时的外观: <select …> <option id="se…

我有<input id="test" disabled="">。如何找到具有属性disable =“”的元素。附言:在这种情况下,我不需要使用ID。我想找到一个具有禁用属性的元素。我尝试使用String enbl = Login.driver.findElement(By.cssSelector(&#034…

赞(0) 打赏
部分文章转自网络,侵权联系删除b2bchain区块链学习技术社区 » Selenium Webdriver窗口处理C#切换失败 – c#程序员分享
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

b2b链

联系我们联系我们