Автоматизоване клікання по посиланнях на веб-сайті з використанням Python і Selenium WebDriver

Автоматизоване клікання по посиланнях на веб-сайті з використанням Python і Selenium WebDriver

4 Березня 2024 в 16:53 31

Проблема вибору правильного шляху для клікання на веб-сайті та автоматизація цього процесу стає дедалі більш актуальною в сучасному світі програмування. У цій статті ми розглянемо, як вирішити цю проблему за допомогою Python і бібліотеки Selenium WebDriver.

На початку давайте звернемо увагу на конкретний випадок: необхідність автоматизації клікання по всіх посиланнях на веб-сайті hatvp.fr. Це може бути корисно, наприклад, для скрапінгу даних або тестування функціоналу веб-сайту.

Почнемо з аналізу HTML-коду сторінки. Ми помітили, що кожне посилання має клас orga-card-row і знаходиться на веб-сторінці у вигляді елементів списку, які можна вибрати за допомогою CSS селектора a.orga-card-row:nth-child(i), де i – це порядковий номер елементу. Таким чином, можна легко створити цикл for i in range або while, щоб клікати по кожному елементу по черзі.

Інша проблема, з якою ми зіткнулися, – це використання змінної i в CSS селекторі. Щоб це вирішити, ми конвертуємо значення i в рядок, використовуючи str(i). Проте, оскільки перший шматок коду не працює, ми не можемо гарантувати, що це рішення досить ефективне.

Нижче наведений фрагмент коду, який демонструє наш підхід до розв’язання проблеми:

Цей код спробує знайти елемент з класом orga-card-row за допомогою CSS селектора, який буде відповідати поточному значенню i, і клікне на нього. Проте, для його успішної роботи потрібно правильно налаштувати Selenium WebDriver та мати активне з’єднання з Інтернетом.