无法在嵌套 table 中的 Python Selenium 中使用 CSS 选择器引用元素

Unable to reference element with CSS selector in Python Selenium in nested table

遇到 CSS select 或以下代码的问题 - 使用 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']")

以为是 iframe,但我搜索了 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 下面 - 实际上有一个列表,我希望能够 select 并单击但还没有到那一步。 超链接更改了登录会话,用 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

我在想,由于网站的嵌套表格或列/格式,代码无法找到该元素,但我不知道从哪里开始。任何提示将不胜感激。

修复它,使它过于复杂,只是使用 link 查找元素......也快得多 - 虽然如果 hyperlink 改变不是很可靠,但足以开始

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