Невозможно щелкнуть элемент флажка, используя интеграцию Python Selenium - PullRequest
0 голосов
/ 03 марта 2020

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

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

Я пробовал с xpath, css селектор и метод id, но все не удалось.

Элемент DOM SS вместе с выделенным флажком

Используемая строка кода -

CheckBoxclick = WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "#workflow_table > thead > tr > th.first.checkbox-column.checkbox > input"))).click()

Ошибка: -

   File "D:/Vipul Garg Backup/XXXX/TestingPardotExportProgramsData.py", line 74, in <module>
    ProgramsPathlist = getDataForPrograms(RecordsonOnePage,totalnofpages)
  File "D:/Vipul Garg Backup/XXXX/TestingPardotExportProgramsData.py", line 63, in getDataForPrograms
    RecordsonOnePage = getrecordsoNpage()
  File "D:/Vipul Garg Backup/XXXX/TestingPardotExportProgramsData.py", line 42, in getrecordsoNpage
    CheckBoxclick = WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "#workflow_table > thead > tr > th.first.checkbox-column.checkbox > input"))).click()
  File "C:\Users\Vipul.Garg\AppData\Local\Programs\Python\Python37\lib\site-packages\selenium\webdriver\remote\webelement.py", line 80, in click
    self._execute(Command.CLICK_ELEMENT)
  File "C:\Users\Vipul.Garg\AppData\Local\Programs\Python\Python37\lib\site-packages\selenium\webdriver\remote\webelement.py", line 633, in _execute
    return self._parent.execute(command, params)
  File "C:\Users\Vipul.Garg\AppData\Local\Programs\Python\Python37\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 321, in execute
    self.error_handler.check_response(response)
  File "C:\Users\Vipul.Garg\AppData\Local\Programs\Python\Python37\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 242, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.StaleElementReferenceException: Message: stale element reference: element is not attached to the page document
  (Session info: chrome=80.0.3987.122)

Но выше Строка кода работает с перебоями и выдает ошибку, как указано выше.
Любые предложения по замене этой строки кода, почему я получаю такое несоответствие.

1 Ответ

0 голосов
/ 03 марта 2020

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

Поскольку для флажка не определен идентификатор, поэтому используйте xpath для достижения как локатор - // input [@ type = 'checkbox']

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