def test_2(self): GET("http://suninjuly.github.io/registration2.html") input1 = TAG("[placeholder='Input your first name']") input1.send_keys("Ivan") input2 = TAG("[placeholder='Input your last name']") input2.send_keys("Sokolov") input3 = TAG("[placeholder='Input your email']") input3.send_keys("*****@*****.**") button = browser.find_element_by_css_selector("button.btn") button.click() WebDriverWait(browser, 5).until( EC.presence_of_element_located((By.CSS_SELECTOR, "h1"))) welcome_text_elt = browser.find_element_by_tag_name("h1") welcome_text = welcome_text_elt.text self.assertEqual("Congratulations! You have successfully registered!", welcome_text, "Тест '2' не прошел")
from conf import browser import math def calc(x): return str(math.log(abs(12*math.sin(int(x))))) browser.get("http://suninjuly.github.io/get_attribute.html") img1 = browser.find_element_by_tag_name("img") img1_value_atribute = img1.get_attribute("valuex") res = calc(img1_value_atribute) browser.find_element_by_id("answer").send_keys(f"{res}") browser.find_element_by_id("robotCheckbox").click() browser.find_element_by_css_selector("[value='robots']").click() browser.find_element_by_tag_name("button").click()
from conf import browser from selenium.webdriver.support.ui import Select browser.get("http://suninjuly.github.io/selects2.html") num1 = browser.find_element_by_id("num1").text num2 = browser.find_element_by_id("num2").text sum = int(num1) + int(num2) print("num1 = ", num1) print("num2 = ", num2) print("sum = ", sum) select = Select(browser.find_element_by_tag_name("select")) select.select_by_value(f"{sum}") browser.find_element_by_tag_name("button").click()
from conf import browser import math def calc(x): return str(math.log(abs(12 * math.sin(int(x))))) browser.get("http://suninjuly.github.io/execute_script.html") x = browser.find_element_by_id("input_value").text res = calc(x) browser.find_element_by_id("answer").send_keys(res) browser.find_element_by_id("robotCheckbox").click() radio_button = browser.find_element_by_tag_name("[value = 'robots']") browser.execute_script("return arguments[0].scrollIntoView(true);", radio_button) radio_button.click() button = browser.find_element_by_tag_name("button") browser.execute_script("return arguments[0].scrollIntoView(true);", button) button.click()
import os from conf import browser browser.get("http://suninjuly.github.io/file_input.html") browser.find_element_by_tag_name("[name='firstname']").send_keys("Ig") browser.find_element_by_tag_name("[name='lastname']").send_keys("Ig") browser.find_element_by_tag_name("[name='email']").send_keys("*****@*****.**") file_dir = os.path.abspath(os.path.dirname(__file__)) # __file__ означает, что дериктория находится в капке со скриптом file = os.path.join(file_dir, 'file.txt') browser.find_element_by_id("file").send_keys(file) browser.find_element_by_tag_name("button").click()
from conf import browser link = "https://SunInJuly.github.io/execute_script.html" browser.get(link) button = browser.find_element_by_tag_name("button") browser.execute_script("return arguments[0].scrollIntoView(true);", button) button.click() # В метод execute_script мы передали текст js-скрипта и найденный элемент button, к которому нужно будет проскролить # страницу. После выполнения кода элемент button должен оказаться в верхней части страницы. # # Также можно проскролить всю страницу целиком на строго заданное количество пикселей. Эта команда проскроллит страницу # на 100 пикселей вниз: # # browser.execute_script("window.scrollBy(0, 100);") # # !Важно. Мы не будем в этом курсе изучать, как работает JavaScript, и обойдемся только приведенным выше примером # скрипта с прокруткой страницы. Для сравнения приведем скрипт на этом языке, который делает то же, что приведенный # выше пример для WebDriver:
from conf import browser from selenium.webdriver.support.ui import Select browser.get("http://suninjuly.github.io/selects1.html") select = Select(browser.find_element_by_tag_name("select")) select.select_by_value("1") # Можно использовать еще два метода: select.select_by_visible_text("text") и select.select_by_index(index). Первый # способ ищет элемент по видимому тексту, например, select.select_by_visible_text("Python") найдёт "Python" для нашего # примера. # Второй способ ищет элемент по его индексу или порядковому номеру. Индексация начинается с нуля. Для того чтобы найти # элемент с текстом "Python", нужно использовать select.select_by_index(1), так как опция с индексом 0 в данном примере # имеет значение по умолчанию равное "--".