Распространенные методы

Вот некоторые распространенные методы SeleniumBase, которые вы можете найти в тестах:

Переход на веб-страницу: (и соответствующие команды)

self.open("https://xkcd.com/378/")  # This method opens the specified page.

self.go_back()  # This method navigates the browser to the previous page.

self.go_forward()  # This method navigates the browser forward in history.

self.refresh_page()  # This method reloads the current page.

self.get_current_url()  # This method returns the current page URL.

self.get_page_source()  # This method returns the current page source.

ProTip™: Вы можете использовать self.get_page_source()метод с find()командой Python для анализа HTML, чтобы найти что-то конкретное. (Для более сложного разбора см . пример BeautifulSoup .)

source = self.get_page_source()
head_open_tag = source.find('<head>')
head_close_tag = source.find('</head>', head_open_tag)
everything_inside_head = source[head_open_tag+len('<head>'):head_close_tag]

Щелчок:

Чтобы щелкнуть элемент на странице:

ProTip™: В большинстве веб-браузеров вы можете щелкнуть правой кнопкой мыши страницу и выбрать Inspect Element, чтобы просмотреть сведения о селекторе CSS, которые вам понадобятся для создания собственных сценариев.

Ввод текста:

self.type(selector, text)# обновляет текст из указанного элемента с указанным значением. Исключение возникает, если элемент отсутствует или если текстовое поле недоступно для редактирования. Пример:

Вы также можете использовать self.add_text()или команду WebDriver .send_keys(), но они не будут сначала очищать текстовое поле, если внутри уже есть текст. Если вы хотите ввести специальные клавиши, это тоже легко. Вот пример:

Получение текста из элемента на странице:

Получение значения атрибута из элемента на странице:

Подтверждение существования элемента на странице в течение некоторого количества секунд:

(ПРИМЕЧАНИЕ. Вы также можете использовать: self.assert_element_present(ELEMENT))

Утверждение видимости элемента на странице в течение некоторого количества секунд:

(ПРИМЕЧАНИЕ: краткие версии этого self.find_element(ELEMENT)и self.assert_element(ELEMENT). Версия find_element() возвращает элемент)

Поскольку строка выше возвращает элемент, вы можете комбинировать его с .click(), как показано ниже:

ProTip™: Вы можете использовать точки для обозначения имен классов (пример: div.class_name) в качестве упрощенной версии div[class="class_name"]в селекторе CSS.

Вы также можете использовать *=для поиска любого частичного значения в селекторе CSS, как показано ниже:

Утверждение видимости текста внутри элемента на странице в течение некоторого количества секунд:

(ПРИМЕЧАНИЕ: self.find_text(TEXT, ELEMENT)а self.wait_for_text(TEXT, ELEMENT)также сделайте это. Для обратной совместимости старые имена методов были сохранены, но время ожидания по умолчанию может быть другим.)

Утверждая что-либо:

Полезные условные операторы: (с творческими примерами в действии)

is_element_visible(selector) # элемент виден на странице

is_element_present(selector) # элемент присутствует на странице

Другой пример:

Полный список методов SeleniumBase см. в разделе Обзор методов .

Last updated

Was this helpful?