在学习Python+selenium时,出现TypeError: unbound method maximize_window() must be called with WebDriver instance as first argument (got nothing instead)错误,大概意思就是WebDriver没有被实例化,不能调用maximize_window()方法。

报错原因是:

因为browser_type = \"Chrom\",不满足if条件,执行else语句,但是在else语句中实例化webdriver.Chrome类时忘记加括号

所以在调用maximize_window()方法时,程序报错。

错误代码如下(已被简化):

from selenium import webdriver
import time
class BrowserEngine( ):
    def __init__(self, driver):
        self.driver = driver

    browser_type = \"Chrome\"

    def get_browser(self):
        if self.browser_type == \"IE\":
            driver = webdriver.Ie()
        else:
            driver = webdriver.Chrome

        driver.maximize_window()
        driver.implicitly_wait(10)
        return driver

只要在实例化webdriver.Chrome时,把括号加上就好啦~

修正后的代码如下:

from selenium import webdriver
import time
class BrowserEngine( ):
    def __init__(self, driver):
        self.driver = driver

    browser_type = \"Chrome\"

    def get_browser(self):
        if self.browser_type == \"IE\":
            driver = webdriver.Ie()
        else:
            driver = webdriver.Chrome()

        driver.maximize_window()
        driver.implicitly_wait(10)
        return driver

 

收藏 打印