Function getWindowHandle函数没有';Selenium中不存在驱动程序

Function getWindowHandle函数没有';Selenium中不存在驱动程序,function,testing,selenium,automation,selenium-webdriver,Function,Testing,Selenium,Automation,Selenium Webdriver,我需要在IE中实现从一个窗口到另一个窗口的切换。但是,element driver不支持getWindowHandle功能 我认为这可能只是配置问题或设置问题,尽管我不知道如何修复它 请,有什么建议吗 我正在与c#Visual Studio合作我将大胆猜测: 尝试按如下方式初始化驱动程序: WebDriver driver = new FirefoxDriver(); //assume you use firefox 界面WebDriver支持该方法。别忘了把把手放在什么地方;) 顺便说一句

我需要在IE中实现从一个窗口到另一个窗口的切换。但是,element driver不支持getWindowHandle功能

我认为这可能只是配置问题或设置问题,尽管我不知道如何修复它

请,有什么建议吗


我正在与c#Visual Studio合作

我将大胆猜测:

尝试按如下方式初始化驱动程序:

 WebDriver driver = new FirefoxDriver(); //assume you use firefox
界面
WebDriver
支持该方法。别忘了把把手放在什么地方;)

顺便说一句,该方法应该返回您的实际窗口,如果您需要所有窗口,您可能应该使用
getWindowHandles()
方法

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

  • 你到底犯了什么错误
  • 如何初始化WebDriver
  • 您使用的是什么版本的selenium|
  • 您使用的是哪种类型的驱动程序

您没有说您使用的是哪种语言绑定,但根据您发布的评论,看起来您使用的是C#。每个语言绑定的方法名称略有不同。发件人:

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


因此,如果您试图复制粘贴Java代码,则必须进行一些翻译。在这种情况下,您需要结合
WindowHandles
属性(查找新的窗口句柄)和驱动程序的
CurrentWindowHandle
属性。您可以在项目的网站上找到完整版本。

什么版本的webdriver?艾美?你说不支持是什么意思?我使用IE8,webdriver版本2.31.0.0,我在SetUp()中初始化了驱动程序:IWebDriver driver=new InternetExplorerDriver();然而,当我试图从驱动程序实例调用getWindowHandle()时,我在列表中没有看到getWindowHandle()函数。不幸的是,这种方法不起作用。如果我将webdriver初始化为使用FF,它仍然不能提供我需要的功能。请参阅JimEvans的回复-顺便说一句,下次最好说一下您使用的是哪种语言,这样我就不必这么胡乱猜测了。好的,我会做的。无论如何,谢谢!JimEvansm,非常感谢!看来你是对的。我将尝试使用WindowHandles和CurrentWindowHandle来处理它。如果您能将此答案标记为正确答案,那就太好了。JimEvans,我可以使用类似的方法吗?
String myWindow = driver.getWindowHandle();