Самое раздражающее и много времени, которую я когда-либо сталкивался, это веб-сайт нашего колледжа. Каждый раз, когда нам нужно было войти в сайт, чтобы проверить посещаемость или просто быстро проверить расписание расписание. Поэтому я подумал, что автоматизирует эту задачу с помощью SELENIUM Framework в Python. Вот как я это реализовал:
1. Импорт библиотеки:
from selenium import webdriver from selenium.webdriver.common.keys import Keys from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC
ПРИМЕЧАНИЕ. Перед импортом мы должны установить Selenium, запустив PIP Установить SELENIUM в командной строке, затем загрузка WebDriver Chrome отсюда: https://chromedriver.Chromium.org/downloads
2. Тогда я инициализировал Chrome WebDriver:
PATH="C:\Program Files (x86)\chromedriver" driver=webdriver.Chrome(PATH) driver.get("https://vtop.vitbhopal.ac.in/vtop/") #This is the site link
3. Нажав кнопку входа
С помощью осматривать вариант В веб-браузере Chrome я обнаружил класс кнопки, а затем указал его в коде.
Поскольку на главной странице нет других элементов с тем же классом, не будет сгенерирована ошибка. И мы используем метод Click (), чтобы нажать кнопку.
vtop=driver.find_element_by_class_name("btn-primary") vtop.click()
4. Набрав в имени пользователя и пароль
Как мы сделали на предыдущем шаге, мы должны найти идентификатор имени пользователя и пароль на вкладке «Проверка», а затем мы должны указать его в коде.
driver.implicitly_wait(5) user_input=driver.find_element_by_name("uname") pass_input=driver.find_element_by_name("passwd") user_input.send_keys("20BSE10789")#enter your username pass_input.send_keys("Pranav@2002")#enter your password
Мы должны обеспечить, чтобы Селен Проверяет элементы после того, как страница полностью загружена. Так что для этого мы используем:
driver.implicitly_wait(5)
Это гарантирует, что Selenium ждет на 5 секунд, а не бросать любую ошибку.
5. Набрав в капчи
Нам нужно ввести в капчу вручную, так как трудно автоматизировать CAPTCHA. После того, как CAPTCHA введен, автоматизация возобновится. Это достигается следующим кодом.
bt_submit = driver.find_element_by_id("captcha") WebDriverWait(driver, timeout=1000, poll_frequency=1) \ .until(EC.staleness_of(bt_submit)) print("signed in")
Этот код гарантирует, что Селен ждет, чтобы пользователь нажать кнопку входа в систему (проверьте каждые 1s с тайменами 1000s).
6. Просмотр таблицы посещаемости и времени
Это последняя часть кода. Здесь вкладка «Таблица времени и посещаемость» расположена в раскрывающемся меню, Я не смог получить доступ к нему напрямую, используя класс или идентификатор. Поэтому сначала добравшись к элементу главного меню с помощью класса, упомянутой внутри элемента охвата:
driver.implicitly_wait(5) select=driver.find_element_by_xpath('.//span[@class = "fa fa-graduation-cap"]') select.click()
После этого я добрался до пункта подменю с помощью find_element_by_link_text () метод
select=driver.find_element_by_link_text('Time Table')#Use Attendance here instead of Time table to view attendance select.click()
Таким образом, мы можем легко увидеть таблицу времени/посещаемость.
Оригинал: “https://dev.to/cyblogerz/automating-my-college-s-website-48ho”