Selenium中的驱动程序不存在getWindowHandle函数

时间:2013-04-02 06:15:12

标签: function testing selenium automation selenium-webdriver

我需要在IE中实现从一个窗口切换到另一个窗口。但是,元素驱动程序不支持getWindowHandle函数。

我认为它可能只是配置问题或设置,但我不知道如何解决它。

请提出任何建议。

我正在使用c# - Visual Studio

2 个答案:

答案 0 :(得分:4)

您还没有说过您正在使用哪种语言绑定,但根据您发布的评论,看起来您正在使用C#。每种语言绑定的方法名称略有不同。来自this answer

  

.NET语言绑定中的对象,方法和属性名称   不完全对应于Java绑定中的那些。其中一个   该项目的原则是每种语言绑定都应该“感觉到”   对那些用那种语言编码的人很自然。

因此,如果您尝试复制粘贴Java代码,则必须进行一些翻译。在这种情况下,您需要组合WindowHandles属性(以查找新窗口句柄)和驱动程序的CurrentWindowHandle属性。您可以在项目的API documentation for the .NET bindings找到完整的Google code site

答案 1 :(得分:1)

我会猜测:

尝试按照以下方式初始化您的驱动程序:

 WebDriver driver = new FirefoxDriver(); //assume you use firefox

接口WebDriver支持该方法。不要忘记将把手存放在某处;)

String myWindow = driver.getWindowHandle();

BTW该方法应该返回实际窗口如果您需要所有窗口,您可能应该使用getWindowHandles()方法

如果这不起作用,请提供更多信息:

  • 你得到了什么错误正好
  • 如何初始化WebDriver?
  • 您使用的是哪种版本的硒?|
  • 您使用的是什么类型的驱动程序?