Добро пожаловать на подписку на общедоступную учетную запись TestingStudio, чтобы узнать больше необходимых навыков для разработки тестов.
Pycharm создал новый проект для тестирования веб-автоматизации. Я установил библиотеку Selenium напрямую и обнаружил, что написанный ранее код позиционирования элементов Selenium сообщал об ошибке после запуска. Я обнаружил, что после обновления Selenium до новой версии (версия 4. x), предыдущий Синтаксис некоторых часто используемых кодов изменился. Конечно, если вы не обновили или не загрузили последнюю версию Selenium, это не повлияет, и вы все равно сможете использовать предыдущий метод записи. Следующим шагом будет обсуждение нового синтаксиса кода элемента позиционирования Selenium после выхода новой версии. Пожалуйста, не наступайте на эту ловушку снова.
inputTag = driver.find_element_by_id("value") # Используйте идентификатор, чтобы найти
inputTags = driver.find_element_by_class_name("value") # Используйте позиционирование имени класса
inputTag = driver.find_element_by_name("value") # Позиция с использованием атрибута имени
inputTag = driver.find_element_by_tag_name("value") # Позиционирование с использованием имен тегов
inputTag = driver.find_element_by_xpath("value") # Используйте XPath, чтобы найти
inputTag = driver.find_element_by_css_selector("value") # Позиционирование с помощью селекторов CSS
До обновления версии мы использовалиdriver.findelement_byимя метода(”value”),Имена методов: by_id, by_class_name, by_name и т. д. и «значение». — значение, переданное в,Возьмем в качестве примера кнопку поиска Baidu.,Инструменты разработчика браузера могут просматривать атрибут id="su" в исходном коде HTML.,Использование старой версии записи для использования значения id для поиска поля поиска должно быть:
searchTag = driver.find_element_by_id("su")
До обновления версии соответствующий элемент обычно может быть правильно расположен при запуске. Однако после обновления Selenium после запуска будет сообщено об ошибке. Возьмите в качестве примера driver.find_element_by_id("value") (другие ошибки аналогичны ). следующее) сообщение об ошибке), указанная выше ошибка появится после запуска.
Selenium версии 4 больше не поддерживает указанный выше метод записи. Нам нужно импортировать другие методы и изменить метод записи позиционирования элементов:
Знакомство с методом By
from selenium.webdriver.common.by import By
Новый метод позиционирования элемента
# searchTag = driver.find_element_by_id("value") # Используйте идентификатор, чтобы найти
# Изменить на:
# searchTag = driver.find_element(By.ID, "value")
# searchTag = driver.find_element_by_class_name("value") # Используйте позиционирование имени класса
# Изменить на:
# searchTag = driver.find_element(By.CLASS_NAME, "value")
# searchTag = driver.find_element_by_name("value") # Позиция с использованием атрибута имени
# Изменить на:
searchTag = driver.find_element(By.NAME, "value")
# searchTag = driver.find_element_by_tag_name("value") # Позиционирование с использованием имен тегов
# Изменить на:
searchTag = driver.find_element(By.TAG_NAME, "value")
# searchTag = driver.find_element_by_xpath("value") # Используйте XPath, чтобы найти
# Изменить на:
searchTag = driver.find_element(By.XPATH, "value")
# searchTag = driver.find_element_by_css_selector("value") # Позиционирование с помощью селекторов CSS
# Изменить на:
searchTag = driver.find_element(By.CSS_SELETOR, "value")
После модификации все будет нормально, и понижать версию селена не нужно.