Условие существования элемента в Python SeleniumPython

Программы на Python
Anonymous
Условие существования элемента в Python Selenium

Сообщение Anonymous »

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

Произошло исключение: NoSuchElementException Сообщение: такого элемента нет: невозможно найдите элемент:

XPath целевого элемента может быть любым из следующих, единственное отличие — это средний идентификатор деления (7 или 8).
Благодарен за вашу помощь и предложения,
Xpaths:
  • < li>/div/div2/div1/div[7]/div2/span/div/span
  • /div/div2/div1/div[8]/div2/span/div/ промежуток

Код: Выделить всё

if driver.find_element("xpath",'//*[@id="system"]/div/div[2]/div[1]/div[7]/div[2]/span/div/span'):
antivirus = driver.find_element("xpath",'//*[@id="system"]/div/div[2]/div[1]/div[7]/div[2]/span/div/span').text
else:
antivirus = driver.find_element("xpath",'//*[@id="system"]/div/div[2]/div[1]/div[8]/div[2]/span/div/span').text

Код: Выделить всё

try:
antivirus = driver.find_element("xpath",'//*[@id="system"]/div/div[2]/div[1]/div[7]/div[2]/span/div/span').text
except:
antivirus = driver.find_element("xpath",'//*[@id="system"]/div/div[2]/div[1]/div[8]/div[2]/span/div/span').text

Код: Выделить всё

if len(driver.find_element("xpath",'//*[@id="system"]/div/div[2]/div[1]/div[7]/div[2]/span/div/span')) > 0:
antivirus = driver.find_element("xpath",'//*[@id="system"]/div/div[2]/div[1]/div[7]/div[2]/span/div/span').text
else:
antivirus = driver.find_element("xpath",'//*[@id="system"]/div/div[2]/div[1]/div[8]/div[2]/span/div/span').text
  • HTML-код до и после первого элемента:
введите описание изображения здесь
  • HTML-код до и после второго элемента:
введите описание изображения здесь

Подробнее здесь: https://stackoverflow.com/questions/786 ... n-selenium

Вернуться в «Python»