Перейти к содержимому

Фотография

Selenium и Python Ошибка


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 3

#1 djasup

djasup

    Новый участник

  • Members
  • Pip
  • 2 сообщений

Отправлено 05 декабря 2015 - 11:38

Ошибка

selenium.common.exceptions.StaleElementReferenceException: Message: Element not found in the cache - perhaps the page has changed since it was looked up
for event in events_divs:
self.browser.get(event.get_attribute('href'))
ref_events = self.browser.find_elements_by_xpath(r".//table[@class='listChemps']//tr/td[@class='eCnt nshow']/a")
for ref_event in ref_events:
time.sleep(2)
self.browser.get(ref_event.get_attribute('href'))
time.sleep(2)
P1 = self.browser.find_element_by_xpath(r".//div[@class='dop'][1]/div[@class='dop2']/span[1]/a")
P2 = self.browser.find_element_by_xpath(r".//div[@class='dop'][1]/div[@class='dop2']/span[2]/a")
if float(P1.text) > float(P2.text):
self.browser.get(P2.get_attribute('href'))
time.sleep(2)
self.__makebet()
elif float(P1.text) < float(P2.text):
self.browser.get(P1.get_attribute('href'))
time.sleep(2)

 

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


  • 0

#2 Saga

Saga

    Новый участник

  • Members
  • Pip
  • 37 сообщений
  • ФИО:Maryna Kolesnik
  • Город:Киев


Отправлено 05 декабря 2015 - 13:08

StaleELementReferenceException появляется в двух случаях:

1) Элемент был удален.

2) Элемент больше не прикреплен к DOM.

 

Вариант борьбы: не итерироваться по однажды найденному списку events, а искать каждый раз новый event, пока есть подходящий под какое-то условие элемент.  

Например, если 1-й event  содержит в локаторе 1, 2-й event - в локаторе 2 и т.д.,, а всего events N штук,  то можно написать цикл от 1 до N, в котором искать event с соответсвующим индексом в локаторе. Если такой элемент находится - начать с ним работать.


  • 1

#3 djasup

djasup

    Новый участник

  • Members
  • Pip
  • 2 сообщений

Отправлено 05 декабря 2015 - 13:32

Не понял вашей мысли, если не затруднит чирканите строчкой кода как проходить по циклу, то что вы описали


  • 0

#4 Saga

Saga

    Новый участник

  • Members
  • Pip
  • 37 сообщений
  • ФИО:Maryna Kolesnik
  • Город:Киев


Отправлено 05 декабря 2015 - 14:14

http://sqa.stackexch...webdriver-pytho


  • 0


Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 анонимных