У меня возникли проблемы с поиском Selenium набора определенных c элементов ссылки вкладки по идентификаторам или тексту ссылки. Используя Selenium, я пытаюсь нажать / l oop на каждой из вкладок («ОПИСАНИЕ И ЦЕНА», «FINI SH» и «ПРИМЕЧАНИЯ») и почистить следующую таблицу (см. Скриншот).
![enter image description here](https://i.stack.imgur.com/gWYLD.jpg)
Ниже HTML вкладок. Когда мой l oop впервые загружает страницу, активна вкладка «ОПИСАНИЕ И ЦЕНА», и последующая таблица легко очищается с помощью BeautifulSoup (путем поиска с указанным идентификатором таблицы c). Однако после того, как таблица «D + P» очищена, я пытаюсь щелкнуть вкладку «FINI SH» с помощью Selenium, я получаю ошибку NoSucElementException.
Я надеюсь, что смогу нажимать на вкладки "FINI SH" и "NOTES", используя метод текста ссылки (поскольку вкладки отличаются от страницы к странице). Это приводит к ошибке.
driver.find_element_by_link_text ("FINI SH"). Click ()
Я также пробовал метод идентификатора, но это тоже не удается.
driver.find_element_by_id ("cphMain_tbTabs_rptTabs_lnkTab_1"). click ()
Я также пробовал различные методы ожидания на случай, если элемент еще не был загружен, хотя я получаю ту же ошибку при попытке ожидания идентификатора элемента, потому что он не может найти идентификатор.
Другое соображение состоит в том, что я не вижу упоминания о iframe в html.
<div id="cphMain_upTabs">
<div id="cphMain_divTabs" class="tabs">
<div id="cphMain_tbTabs_divTabs">
<ul class="tabset">
<li><a id="cphMain_tbTabs_rptTabs_lnkTab_0" class="tab active" href="javascript:__doPostBack('ctl00$cphMain$tbTabs$rptTabs$ctl01$lnkTab','')" style="font-weight:bold;">DESCRIPTION AND PRICE</a></li>
<li><a id="cphMain_tbTabs_rptTabs_lnkTab_1" class="tab" href="javascript:__doPostBack('ctl00$cphMain$tbTabs$rptTabs$ctl02$lnkTab','')" style="font-weight:normal;">FINISH</a></li>
<li><a id="cphMain_tbTabs_rptTabs_lnkTab_2" class="tab" href="javascript:__doPostBack('ctl00$cphMain$tbTabs$rptTabs$ctl04$lnkTab','')" style="font-weight:normal;">NOTES</a></li>
</ul>