在学习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(object):
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(object):
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