Python - 缺少 1 个参数,即使我提供了它

我正在提供论据,但仍然收到错误。我什至尝试将其作为字符串提供。


错误:


C:\anaconda3\python.exe C:/Test/browser_automation/app.py

Enter the author you'd like quotes from: test

test

Traceback (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 1

app.py


from selenium import webdriver


from pages.quotes_page import QuotesPage


chrome = 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 List

from selenium.webdriver.support.ui import Select


from locators.quotes_page_locators import QuotesPageLocators

from parsers.quote import QuoteParser



class 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

            )

        ]

慕斯709654
浏览 208回答 1
1回答

牧羊人nacy

Property (&nbsp;@property) 方法不能接受任何参数因此,将您的财产从@property def&nbsp;select_author(self,&nbsp;author_name:&nbsp;str): &nbsp;&nbsp;&nbsp;self.author_dropdown.select_by_visible_text(author_name)到def&nbsp;select_author(self,&nbsp;author_name:&nbsp;str): &nbsp;&nbsp;&nbsp;&nbsp;self.author_dropdown.select_by_visible_text(author_name)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python