Невозможно ссылаться на элемент с помощью селектора CSS в Python Selenium во вложенной таблице - PullRequest
0 голосов
/ 26 августа 2018

Имея проблемы с селектором CSS с кодом ниже - используя JupyterLab - я также относительно новичок в кодировании.

driver.implicitly_wait(10)
links = driver.find_element_by_css_selector(".mainContents tr:nth-child(1) td:nth-child(1) ul:nth-child(1) li:nth-child(1) a[href*='Super']")

Думал, что это были iframes, но я искал HTML, и он не отображается.Также пытался использовать xPath, но после проверки похоже, что это не тот способ сохранить надежный кусок кода.

Ошибка:

NoSuchElementException: Message: no such element: Unable to locate element: {"method":"css selector","selector":".mainContents tr:nth-child(1) td:nth-child(1) ul:nth-child(1) li:nth-child(1) a[href*='Super']"}
(Session info: chrome=68.0.3440.106)
(Driver info: chromedriver=2.41.578737 (49da6702b16031c40d63e5618de03a32ff6c197e),platform=Windows NT 10.0.16299 x86_64)

HTML ниже - на самом деле есть списокиз них, которые я хотел бы иметь возможность выбрать и щелкнуть, но пока не зашел так далеко.Гиперссылка изменяет сеанс входа в систему, и поиск текста гиперссылки с помощью find_element_by_partial_link_text также, похоже, не работает ..

<li><a href="Reportorama/SuperMasterExcel/custom_report_PO.cfm?CFID=12455678&amp;CFTOKEN=a6a4f7f0b4da4813-800DAD38-F642-08D7-3358A02BDEA57F7F&amp;SWPSORAMA_SYSTEM=ASWPS">Super Master Data (Excel)</a></li>

Прикрепленное изображение структуры HTML сайта: Nested href

Я думал, что из-за вложенных таблиц или столбцов / формата сайта код не может найти элемент, но я не знаю, с чего начать.Любые советы будут оценены.

1 Ответ

0 голосов
/ 26 августа 2018

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

SuperMaster = driver.find_element_by_link_text('Super Master Data (Excel)')
SuperMaster.click()
...