コード例 #1
0
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()
コード例 #2
0
from conf import browser, ID, TAG
import math


def calc(x):
    return str(math.log(abs(12 * math.sin(int(x)))))


browser.get("http://suninjuly.github.io/alert_accept.html")
TAG("button").click()
alert_ok = browser.switch_to_alert()  # свитчимся на алерт
alert_ok.accept()  # в алерте жмем кнопку согласия
num = ID("input_value").text
res = calc(num)
ID("answer").send_keys(res)
TAG("button").click()
コード例 #3
0
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()
コード例 #4
0
from conf import browser, ID

# говорим WebDriver искать каждый элемент в течение 5 секунд
browser.implicitly_wait(5)

browser.get("http://suninjuly.github.io/wait1.html")

button = ID("verify").click()
message = ID("verify_message").text

assert "successful" in message
コード例 #5
0
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()
コード例 #6
0
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()
コード例 #7
0
from conf import browser, ID
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
import math


def calc(x):
    return str(math.log(abs(12 * math.sin(int(x)))))


browser.get("http://suninjuly.github.io/explicit_wait2.html")

# говорим Selenium проверять в течение 5 секунд, пока кнопка не станет кликабельной
button = WebDriverWait(browser, 12).until(
    EC.text_to_be_present_in_element((By.ID, "price"), "$100"))
ID("book").click()
num = ID("input_value").text
res = calc(num)
ID("answer").send_keys(res)
ID("solve").click()
コード例 #8
0
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:
コード例 #9
0
from conf import browser

browser.get("http://suninjuly.github.io/math.html")
people_radio = browser.find_element_by_id("peopleRule")
people_checked = people_radio.get_attribute("checked")
print("value of people radio: ", people_checked)
assert people_checked == "true", "People radio is not selected by default"
robots_radio = browser.find_element_by_id("robotsRule")
robots_checked = robots_radio.get_attribute("checked")
assert robots_checked is None