-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy pathcaptcha_for_robots.py
39 lines (31 loc) · 1.39 KB
/
captcha_for_robots.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
'''
# Тут расположено решение тестового задания по курсу
# "Автоматизация тестирования с помощью Selenium и Python"
# Модуль 2, раздел 1, 5 степ
'''
from selenium import webdriver
import math
# переход на нужную страницу
link = "http://suninjuly.github.io/math.html"
browser = webdriver.Chrome()
browser.get(link)
# функция, которая находит значение выражения при заданном x
def calc(x):
return str( math.log( abs( 12 * math.sin( int(x) ) ) ) )
# находим значение x для выполнения задания
x_in_first_test = browser.find_element_by_id("input_value")
x_value = x_in_first_test.text
# высчитываем результат для первого задания
first_test_result = calc(x_value)
# вводим ответ к первому тесту
first_test_input = browser.find_element_by_id("answer")
first_test_input.send_keys(first_test_result)
# выбираем checkbox
robot_checkbox = browser.find_element_by_id("robotCheckbox")
robot_checkbox.click()
# выбираем radiobutton
robot_radiobutton = browser.find_element_by_id("robotsRule")
robot_radiobutton.click()
# нажимаем кнопку отправить
send_button = browser.find_element_by_class_name("btn-default")
send_button.click()