получение ошибки атрибута при использовании аргументов кортежа python selenium

#python #selenium #tuples

Вопрос:

Я пытаюсь выполнить функцию «до тех пор, пока(EC.visibility_of_element_located» в моем методе.Но если вы получаете такую ошибку,в чем причина ?

 by = (<selenium.webdriver.chrome.webdriver.WebDriver (session="0df329cbca657f67360d8fa26fc0ca1c")>, ('xpath', "//div[@title='Kapat'])"))

    def _find_element(driver, by):
        """Looks up an element. Logs and re-raises ``WebDriverException``
        if thrown."""
        try:
>           return driver.find_element(*by)
E           AttributeError: 'BasePage' object has no attribute 'find_element'
 

Вот мой код,BasePage.py::

 def click(driver,*by_locator):
      
        WebDriverWait(driver, 60) .until(EC.visibility_of_element_located(by_locator)).click()
 

и я вызываю эту функцию:

     driver = webdriver.Chrome()
    driver.get("https://www.trendyol.com/")
    driver.maximize_window()
    website_is_up_and_running("https://www.trendyol.com/")
    time.sleep(5)
    bp.click(driver, (By.XPATH,"//div[@title='Kapat'])"))
 

Комментарии:

1. Обновите вопрос, чтобы включить в него все сообщение об обратном отслеживании.

2. А как вы создавали driver ?

3. водитель = Базовая страница. Объект базовой страницы в 0x7f9f1ac50> by = (> веб-драйвер.chrome.веб-драйвер. WebDriver (сеанс=»»)>, (‘xpath’, «//div[@title=’Kapat’])»)) def _find_элемент(драйвер, by): a2c55e3d77a «»»Ищет элемент. Журналы и ре-рейзы WebDriverException , если бросили.»»» попробуйте: > водитель возврата.find_element(*С) Е AttributeError: объект ‘BasePage’ не имеет атрибута ‘find_element’ /usr/местные/библиотека/питон3.7/дист-пакеты/селен/WebDriver в/поддержки/expected_conditions.ру:411: AttributeError

4. Я не уверен, но правильно ли использовать команду * in return driver.find_element(*by) ?

5. @Prophet Я изменил метод следующим образом:n щелчок по кнопке(драйвер,by_locator,имя локатора): WebDriverWait(драйвер, 60) .пока(EC.visibility_of_element_located(by_locator,имя локатора)).нажмите (), но это приводит к ошибке:WebDriverWait(драйвер, 60) .пока(EC.visibility_of_element_located(by_locator,имя локатора)).нажмите() Ошибка типа: __init__() принимает 2 позиционных аргумента, но было дано 3