我有一个页面,其中包含以下html行
<td><span><a onClick="setSummaryClasses(3)">Reality</a></span></td>
从FF Source面板复制。我尝试用
单击锚点driver.find_element_by_link_text('Reality').click()
我得到了
NoSuchElementException: Message: u'Unable to locate element: {"method":"link text","selector":"Reality"}'
我错过了什么?
我有两个
driver.set_script_timeout(10)
driver.implicitly_wait(10) # seconds
活性。
答案 0 :(得分:3)
确保链接不在任何类型的框架内。否则请先使用switch_to_frame
。
当您匹配链接文字时,请记住它与完全匹配,因此如果您有杂乱的空格,请尝试find_element_by_partial_link_text
driver.find_element_by_partial_link_text('Reality').click()
更改定位器可能也会有所帮助。
driver.find_element_by_css_selector("a[onClick='setSummaryClasses(3)']").click()
答案 1 :(得分:1)
感谢user1177636,我意识到,当点击打开一个窗口时,在LIVE情况下,新窗口将成为当前的“顶部”窗口,而在Selenium中则不会。
因此我需要
driver.switch_to_window('Chat23')
在寻找元素之前。
希望这有助于某人。