【发布时间】:2019-07-04 03:32:35
【问题描述】:
我做了一个类作为selenium driver 的基本设置。我向它添加了方法。我想从上下文管理器访问类的方法我试图在context manager 中创建类的对象并访问该方法但我失败了。我该怎么做?
我什至不知道这段代码有什么问题。请帮帮我。
class SeleniumDriver:
'''basic setup for chromedriver(selenium)'''
def __init__(self,
driversource='C:\\Users\Ewis\Downloads\chromedriver.exe',
url = ('https://realpython.com/')
):
self.driversource = driversource
self.url = url # this tuple
def __enter__(self):
self.driver = webdriver.Chrome(executable_path=self.driversource)
for urls in self.url:
self.driver.get(urls)
return self.driver, Keys
def __exit__(self, exc_type, exc_val, exc_trace):
self.driver.quit()
# and this code(another project)
from seleniumdriver import SeleniumDriver
with SeleniumDriver() as packed:
seldriver1 = SeleniumDriver()
driver = packed[0]
urls = ('https://realpython.com/','https://stackoverflow.com/')
resp = seldriver1.geturl(urls)
for url in resp:
title, url = resp.titleurl()
print(title, '\n', url,'\n')
错误:
Traceback(最近一次调用最后一次): 文件“C:\python\progs\web\selenium\navigation_commands\navigation_commands.py”,第 9 行,在 对于相应的网址: 文件“c:\python\progs\my_modules\seleniumdriver\seleniumdriver.py”,第 22 行,在 geturl 产量(self.driver).get(url) AttributeError:“SeleniumDriver”对象没有属性“驱动程序”
【问题讨论】:
标签: python selenium class selenium-webdriver