关于selenium使用driver.minimize_window()失败问题

  最近小爬在用chromedriver.exe结合python selenium这条技术栈做web自动化时发现,driver.maximize_window()可以正常使用,但是driver.minimize_window()却遭遇意外失败:

“selenium.common.exceptions.WebDriverException: Message: unknown command: session/a527d94bd8530869d34228faaf51f7c8/window/minimize”

结合该方法的源码:

    def minimize_window(self):
        """
        Invokes the window manager-specific 'minimize' operation
        """
        self.execute(Command.MINIMIZE_WINDOW)

    def maximize_window(self):
        """
        Maximizes the current window that webdriver is using
        """
        params = None
        command = Command.W3C_MAXIMIZE_WINDOW
        if not self.w3c:
            command = Command.MAXIMIZE_WINDOW
            params = {'windowHandle': 'current'}
        self.execute(command, params)

可以发现这两方法用的思路不太一样,后来上stackOverFlow上考证一番,才知道是chromedriver版本与chrome浏览器不兼容所致。因为之前chromedriver一直可以用,所以就没有随着chrome浏览器来频繁升级chromedriver。

下载了浏览器配套版本的chromedriver后,问题瞬间解决。下面附上国内淘宝的chromedriver镜像源地址:

http://npm.taobao.org/mirrors/chromedriver/

  可以看出来,chromedriver实际上更新还是比较频繁的。但是总体上,只要我们的脚本没有运行出错,我们可以暂且不管它的升级,问题不大!

原文地址:https://www.cnblogs.com/new-june/p/13264998.html