我想包装webdriver以使其在每次操作后等待。我有以下功能,我认为可能有用(我用打印功能进行测试):
def sleep_driver(function):
def wrapper(*args, **kwargs):
print("sleeping")
return function(*args, **kwargs)
return wrapper
但是当我跑步时:
from selenium import webdriver as wd
webdriver = sleep_driver(wd)
options = webdriver.ChromeOptions()
我明白了:
File "myfile.py", line 204, in <module>
options = webdriver.ChromeOptions()
AttributeError: 'function' object has no attribute 'ChromeOptions'
我做错了什么?
答案 0 :(得分:2)
webdriver
是一个模块,如果你想要装饰&#34;有一些警告。 Python中的一个模块:
我会改为子类化驱动程序并覆盖execute()
method,实际上负责发送webdriver命令:
class MyChromeDriver(webdriver.Chrome):
def execute(self, driver_command, params=None):
# add a delay here
return super(MyChromeDriver, self).execute(driver_command, params=params)