我正在提供论据,但仍然收到错误。我什至尝试将其作为字符串提供。错误:C:\anaconda3\python.exe C:/Test/browser_automation/app.pyEnter the author you'd like quotes from: testtestTraceback (most recent call last): File "C:/Test/browser_automation/app.py", line 14, in <module> page.select_author(author)TypeError: select_author() missing 1 required positional argument: 'author_name'Process finished with exit code 1app.pyfrom selenium import webdriverfrom pages.quotes_page import QuotesPagechrome = webdriver.Chrome(executable_path="c:\\Test\\chromedriver.exe")chrome.get('http://quotes.toscrape.com/search.aspx')page = QuotesPage(chrome)author = input("Enter the author you'd like quotes from: ")print(author)page.select_author(author) ## Still reports error#page.select_author('author') ## Tried it as a string as well and it still reports error.quote_page.py部分内容: @property def select_author(self, author_name: str): self.author_dropdown.select_by_visible_text(author_name)quote_page.py 完整文件:from typing import Listfrom selenium.webdriver.support.ui import Selectfrom locators.quotes_page_locators import QuotesPageLocatorsfrom parsers.quote import QuoteParserclass QuotesPage: def __init__(self, browser): self.soup = browser @property def quotes(self) -> List[QuoteParser]: # locator = QuotesPageLocators.QUOTE # quote_tags = self.browser.select(locator) # return [QuoteParser(e) for e in quote_tags] # return [QuoteParser(e) for e in self.soup.select(QuotesPageLocators.QUOTE)] return [ QuoteParser(e) for e in self.browser.find_elements_by_css_selector( QuotesPageLocators.QUOTE ) ]
1 回答
牧羊人nacy
TA贡献1862条经验 获得超7个赞
Property ( @property
) 方法不能接受任何参数
因此,将您的财产从
@property def select_author(self, author_name: str): self.author_dropdown.select_by_visible_text(author_name)
到
def select_author(self, author_name: str): self.author_dropdown.select_by_visible_text(author_name)
添加回答
举报
0/150
提交
取消