增加硒的时间延迟

时间:2018-01-02 21:42:02

标签: python selenium oop

我想包装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'

我做错了什么?

1 个答案:

答案 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)