Проверка URL и заголовков



.title_is()

EC.title_is(title: str) — это ожидаемое условие, которое проверяет, совпадает ли текущий заголовок веб-страницы с предоставленным значением.

title — ожидаемый заголовок страницы.

Зачем это нужно?

Заголовок страницы — это важный индикатор того, что вы находитесь на правильной странице или в правильном разделе сайта. Это особенно полезно при автоматизации навигации, когда вы переходите от одной страницы к другой и хотите удостовериться, что переход выполнен успешно.

Как это работает?

Когда вы вызываете это условие, Selenium сравнивает текущий заголовок страницы (то, что находится внутри тега <title>) с предоставленной строкой. Если они совпадают, условие считается выполненным.

# Ожидание, пока заголовок страницы станет "My Page Title"
WebDriverWait(driver, 10).until(EC.title_is("My Page Title"))

.title_contains()

EC.title_contains(title: str) — Это ожидаемое условие, которое проверяет, содержит ли текущий заголовок веб-страницы заданное подстроковое значение.

title — подстрока, которую должен содержать заголовок.

Зачем это нужно?

В некоторых случаях вам может не требоваться точное совпадение заголовка, а достаточно удостовериться, что заголовок содержит определенную фразу или слово. Это особенно полезно для сайтов, которые динамически обновляют свои заголовки или когда вам нужно проверить общую тему страницы, а не её конкретное название.

Как это работает?

Это условие проверяет, содержится ли предоставленная строка в текущем заголовке страницы (внутри тега <title>). Если да, условие считается выполненным.

# Ожидание, пока заголовок страницы будет содержать "Page"
WebDriverWait(driver, 10).until(EC.title_contains("Page"))

.url_contains()

EC.url_contains(url: str) — Это ожидаемое условие, которое проверяет, содержит ли текущий URL веб-страницы заданное подстроковое значение.

url — подстрока, которую должен содержать URL.

Зачем это нужно?

При парсинге данных или автоматизации действий на сайтах часто требуется переходить по различным ссылкам или следить за редиректами. Проверка содержания URL может помочь удостовериться, что вы находитесь на правильной странице, особенно после выполнения каких-либо действий, которые могли бы изменить URL (например, после входа в аккаунт или перехода по категориям).

Как это работает?

Это условие анализирует текущий URL страницы и проверяет, содержит ли он заданное значение. Если условие выполняется, то это означает, что вы находитесь на ожидаемой или связанной с вашим запросом странице.

# Допустим, у вас есть следующая ссылка (URL) на веб-сайт:

https://www.mob25.com/dashboard/

#Если вы используете метод EC.url_contains("dashboard"), он вернет True для этой ссылки, потому что строка "dashboard" содержится в URL.

# Ожидание, пока URL будет содержать "dashboard"

WebDriverWait(driver, 10).until(EC.url_contains("dashboard"))

.url_matches()

EC.url_matches(pattern: str) — Это ожидаемое условие, которое проверяет, соответствует ли текущий URL страницы заданному регулярному выражению.

pattern — регулярное выражение для проверки URL.

Зачем это нужно при парсинге?

При парсинге сайтов и автоматизации браузерных действий может возникнуть необходимость проверить структуру или точное соответствие URL определенному паттерну. В отличие от простой проверки на наличие подстроки (как в url_contains), url_matches позволяет выполнить более сложную и точную проверку URL с помощью регулярных выражений.

Как это работает?

Это условие сравнивает текущий URL страницы с регулярным выражением, предоставленным в качестве аргумента, и проверяет их соответствие.

# Ожидание, пока URL соответствует шаблону
WebDriverWait(driver, 10).until(EC.url_matches(r"https://www\.example\.com/[0-9]{4}/"))

.url_to_be()

EC.url_to_be(url: str) — Это ожидаемое условие, которое убеждается, что текущий URL веб-страницы точно совпадает с предоставленным значением.

url — ожидаемый URL страницы.

Почему это важно при парсинге?

Когда вы парсите веб-сайты, особенно динамические или сложные, точность URL может быть критичной. Например, различные страницы продуктов или категорий могут иметь очень похожие URL, и отличие может быть в одном символе или параметре. Убеждаясь, что вы находитесь на правильном URL, вы можете гарантировать, что собираете правильные и релевантные данные.

Как это работает?

Это условие сравнивает текущий URL страницы с предоставленным значением. Если они идентичны, условие считается выполненным.

# Ожидание, пока URL станет "https://www.example.com"
WebDriverWait(driver, 10).until(EC.url_to_be("https://www.example.com"))

.url_changes()

EC.url_changes(url: str)— Это ожидаемое условие, которое проверяет, отличается ли текущий URL веб-страницы от предоставленного значения.

url — исходный URL для сравнения.

Зачем это нужно при парсинге?

При извлечении данных с веб-сайтов часто бывают моменты, когда URL должен измениться после выполнения определенного действия, такого как нажатие кнопки, переход по ссылке или отправка формы. Подтверждение того, что URL действительно изменился, помогает удостовериться, что действие было выполнено успешно и что вы теперь работаете с новой страницей.

Как это работает?

Это условие сравнивает текущий URL страницы с предоставленным значением. Если они не совпадают, условие считается выполненным.

# Ожидание, пока URL изменится относительно "https://www.example.com"
WebDriverWait(driver, 10).until(EC.url_changes("https://www.example.com"))


Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: