Selenium 中的 webdriver 在 FireFox 中打开一个新的 Internet Explorer 选项


from selenium import webdriver
browser = webdriver.Firefox()
browser.get('http://www.google.com')

有人可以帮助我完成上面的代码吗?我希望这段代码能用 google.com 在 Firefox 中打开一个新选项卡;相反,这将打开一个新的 Internet Explorer 选项卡。

我认为为Selenium Python设置geckodriver可以解决问题。

它需要使用FirefoxDriver设置geckodriver路径,如下代码:

self.driver = webdriver.Firefox(executable_path = 'PATHTOgeckodriver.exe')
  • 从 https://github.com/mozilla/geckodriver/releases 下载适合您操作系统的壁虎驱动程序

  • 将其解压缩到您选择的文件夹中

  • 如上所述正确设置路径

IEDriverServer并且GeckoDriverWebDriver变体每天都在/W3C Compliant和不断发展,由于以下原因,尝试使用其中一个变体很可能会与Web Browser的其他变体挂钩:

  • 您的Automated Tests可能在通过打开/关闭Internet ExplorerFirefoxWeb 浏览器Manually Intervened的环境中运行。
  • 您的系统中有一个(几个)悬空的IEDriverServer实例,需要清理。

溶液:

以下是您面临的问题的一些可能的解决方案:

  • 初始化WebDriver/Web Browser实例时,始终明确提及GeckoDriverabsolute location,如下所示:

    driver=webdriver.Firefox(executable_path=r'C:pathtogeckodriver.exe')
    
  • Test ExecutiontearDown()方法中,请始终按如下方式使用quit()

    driver.quit()
    
  • 在开始Test Execution之前,请确保没有任何WebDriver变体的悬空实例。

  • 如果您的Test Framework留下任何悬空实例,请在脚本末尾添加以下Windows Based Command以终止悬空WebDriver

    taskkill /F /IM <webdriver_variant>.exe /T
    
  • 定期清理IDE中的Project WorkSpace

  • 运行CCleaner工具以清除Test Execution前后的所有OS家务。

  • 当您从系统中卸载任何Browser(任何Software)时,请使用Revo Uninstaller来清理您的Unused Registry Settings

相关内容

最新更新