【发布时间】:2019-01-07 20:02:36
【问题描述】:
我正在使用 Selenium (Chrome) Webdriver (Python 3) 在名为“收件箱”的页面上找到一个按钮(然后单击它),但我反复收到“NoSuchElementException:消息:没有这样的元素:无法找到元素。”
这很可能是由于 html 中有许多不间断的空格 ( )(见下文):
<tr>
<td class="MENUCHOICE">
"
" == $0
<a href="main.do?action=inbox">Inbox</a>
</td>
我尝试了几种方法来解决非破坏性空间,但尚未找到解决方案:
1)driver.find_element_by_link_text(' Inbox')(链接文字前加五个空格)
2)driver.find_element_by_xpath("//a[.='\u00A0\u00A0\u00A0\u00A0\u00A0Inbox']")
任何关于如何使用 Python 代码查找元素的建议将不胜感激。
更新:我应该提一下,完整的 HTML 代码中没有 iframe,我的代码中已经有一个 time.sleep(40) 以留出足够的时间让链接变为可点击.我只专注于不间断的空间,因为我已经尝试在不包括它们的情况下找到元素;以下是我尝试的一些示例(不考虑  ):
find_element_by_xpath('//td[@class=’MENUCHOICE’]//a[@href="main.do?action=inbox"]')
find_element_by_xpath('/html/body/table/tbody/tr[6]/td/a')
find_element_by_link_text('Inbox')
find_element_by_partial_link_text('Inb')
find_element_by_css_selector('body > table > tbody > tr:nth-child(6) > td > a')
find_element_by_css_selector("td.MENUCHOICE a[href='main.do?action=inbox']")
【问题讨论】:
-
使用类名来查找你的元素怎么样?
标签: python selenium selenium-webdriver xpath css-selectors