разрешить устаревший элемент внутри цикла Python - PullRequest
1 голос
/ 26 октября 2019

Я пишу скрипт на python для циклического отбрасывания строк и выполнения действий над каждой строкой - простой двойной щелчок и авторизация. Он отлично работает для первой строки, но затем, когда он попадает во вторую строку, он выбрасывает «устаревшую ссылку на элемент: элемент не прикреплен к документу страницы».

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

Я просто не знаю, как обойти это. Если кто-то может внести свой вклад, я был бы очень признателен.

#capture the rows
tables = driver.find_elements_by_xpath("//table[starts- 
with(@id,'revalgridview') and contains(@class,'x-grid-item')]")

#loop through each row
for row in tables: 

        time.sleep(5)

        # check user who made the changes
        authorizations = row.find_elements_by_tag_name('td')[1].text

        if authorizations == "TCCCOPS_DC" or authorizations == "TCCCOPS_RC": 
              actionChains = ActionChains(driver)
              actionChains.double_click(row).perform()
              time.sleep(3)

              #click authorize button 
              auth = driver.find_element_by_xpath("//span[contains(text(),'Authorize')]")
              auth.click()
              time.sleep(5)

       else:
              continue

Код возврата

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...