我正在提供論據,但仍然收到錯誤。我什至嘗試將其作為字符串提供。錯誤: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
提交
取消