Selenium 2.0 + Python презентация
Содержание
- 2. Обзор команд Selenium WebDriver Занятие 2
- 3. План занятия Общий обзор команд Запуск и остановка, открытие страниц Поиск
- 4. План занятия Общий обзор команд Запуск и остановка, открытие страниц Поиск
- 5. Общий обзор команд http://selenium.googlecode.com/git/docs/api/py/index.html браузер – запуск, остановка окно браузера –
- 6. План занятия Общий обзор команд Запуск и остановка, открытие страниц Поиск
- 7. Запуск браузера from selenium import webdriver driver = webdriver.Firefox() driver =
- 8. Запуск браузера Google Chrome https://code.google.com/p/chromedriver/downloads/list Internet Explorer https://code.google.com/p/selenium/downloads/list PhantomJS https://code.google.com/p/phantomjs/downloads/list
- 9. Запуск браузера from selenium import webdriver driver = webdriver.Firefox( capabilities={'native_events': False})
- 10. Остановка браузера driver.quit() закрыть все окна и завершить работу driver.close() закрыть
- 11. Открытие страниц и навигация driver.get("http://selenium2.ru/") открыть страницу и подождать, пока она
- 12. План занятия Общий обзор команд Запуск и остановка, открытие страниц Поиск
- 13. Базовые команды поиска element = driver.find_element(by, locator) найти первый элемент по
- 14. Типы локаторов By.ID By.NAME By.CSS_SELECTOR By.XPATH
- 15. Типизированные команды поиска driver.find_element_by_id('myid') driver.find_element_by_name('myname') driver.find_element_by_xpath('//a') driver.find_element_by_css_selector('a') driver.find_element_by_tag_name('a')
- 16. Поиск внутри элемента element2 = element1.find_element(by, locator) найти первый элемент по
- 17. Пример cell41 = driver.find_element_by_css_selector("table.t1") .find_elements_by_tag_name("tr")[3] .find_elements_by_tag_name("td")[0] это первая ячейка в четвёртой
- 18. Если ничего не нашлось… find_element выбрасывает исключение NoSuchElementException find_elements возвращает пустой
- 19. Как проверить наличие? def is_element_present(self, by, locator) { try:
- 20. Как проверить наличие? def is_element_present(self, by, locator) { return len(
- 21. Неявное ожидание driver.implicitly_wait(10) find_element ждёт, пока элемент появится find_elements ждёт, пока
- 22. Явное ожидание for i in range(60): try: if
- 23. Явное ожидание from selenium.webdriver.support.wait import WebDriverWait wait = WebDriverWait(driver, 30) element
- 24. Явное ожидание from selenium.webdriver.support.wait import WebDriverWait from selenium.webdriver.support.expected_conditions import * wait
- 25. Явные и неявные ожидания Явные
- 26. План занятия Общий обзор команд Запуск и остановка, открытие страниц Поиск
- 27. «Простые» действия кликнуть ссылки и кнопки радио и чекбоксы списки ввести
- 28. «Сложные» действия клавиатурные сочетания наведение мыши перетаскивание правая кнопка мыши двойной
- 29. Две главные операции click
- 30. А другие операции? select ? это просто клик по элементу списка
- 31. Тем не менее, Select from selenium.webdriver.support.select import Select dropdown = Select(element)
- 32. Пример from selenium.webdriver.common.keys import Keys element.click() element.send_keys(Keys.HOME) element.send_keys("some text") добавить текст
- 33. Пример element.send_keys(Keys.CONTROL, "a") time.sleep(1) element.send_keys(Keys.DELETE) удалить содержимое поля ввода
- 34. Пример element.send_keys("text to search") element.send_keys(Keys.RETURN) засабмитить форму, если нет кнопки
- 35. Пример body = driver.find_element_by_tag_name("body") body.send_keys( Keys.CONTROL, Keys.SHIFT, "1") «горячие клавиши», клавиатурные
- 36. Пример set_clipboard_contents(longtext) textarea.send_keys(Keys.CONTROL , "v") вставить длинный текст из буфера обмена
- 37. Нативные и синтезированные события Нативные
- 38. Запуск браузера from selenium import webdriver driver = webdriver.Firefox( capabilities={'native_events': True})
- 39. Actions click send_keys move_to_element click_and_hold release key_down key_up
- 40. Actions webdriver.ActionChains(driver) .move_to_element(el, 1, 1) .click() .perform() webdriver.ActionChains(driver) .move_to_element(el) .move_by_offset(5,5) .click()
- 41. План занятия Общий обзор команд Запуск и остановка, открытие страниц Поиск
- 42. text Видимый текст невидимые элементы имеют пустой текст Нормализация – удаление
- 43. get_attribute input.get_attribute("value"); input.get_attribute("href"); всегда абсолютные ссылки button.get_attribute("disabled") либо null, либо true
- 44. is_displayed вроде бы всё очевидно, но… находится за левым или верхним
- 45. Что ещё? element.value_of_css_property("color") element.size() element.location() element.get_tag_name() element.is_enabled() element.is_selected()
- 46. План занятия Общий обзор команд Запуск и остановка, открытие страниц Поиск
- 47. driver.switch_to_... driver.switch_to_alert() driver.switch_to_frame() driver.switch_to_default_content() driver.switch_to_window()
- 48. Диалоговые окна alert = driver.switch_to_alert() alert_text = alert.text() alert.accept() # либо
- 49. Фреймы driver.switch_to_frame( driver.find_element_by_tag_name("iframe")) # что-то сделали внутри фрейма driver.switch_to_default_content() фреймы могут
- 50. Окна all_windows = driver.window_handles() this_window = driver.current_window_handle() driver.switch_to_window(handle) # что-то делаем
- 51. Туда и обратно # запоминаем идентификатор текущего окна original_window = driver.current_window_handle()
- 52. Ожидание появления нового окна class any_window_other_than(object): def __init__(self, existing_windows):
- 53. Размеры и положение окна driver.get_window_size() driver.set_window_size(800, 600) driver.maximize_window() driver.get_window_position() driver.set_window_position(0, 0)
- 54. На этом пока всё На этом пока всё «Домашка» Форум Скайп-чат
- 55. Скачать презентацию
















![Пример
cell41 =
driver.find_element_by_css_selector("table.t1")
.find_elements_by_tag_name("tr")[3]
.find_elements_by_tag_name("td")[0]
это первая ячейка в четвёртой Пример
cell41 =
driver.find_element_by_css_selector("table.t1")
.find_elements_by_tag_name("tr")[3]
.find_elements_by_tag_name("td")[0]
это первая ячейка в четвёртой](/documents_3/4ac69241ca13a818c2788f0c5f9959b2/img16.jpg)




































Слайды и текст этой презентации
Похожие презентации