#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: AttributeError4. Я не уверен, но правильно ли использовать команду
*
inreturn 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