【发布时间】:2021-05-05 14:16:54
【问题描述】:
我一直在使用 selenium 尝试从公司数据数据库中抓取一些信息。该数据库是私有的,它需要密码,所以很遗憾,我不能共享整个 python 代码,也不能共享整个 HTML 代码。
这是我的问题所需的 HTML 代码部分
<li>
<a id="reportsForm:j_idt320:3:j_idt325" href="#" class="ui-commandlink ui-widget nav-item " onclick="PrimeFaces.addSubmitParam('reportsForm',{'reportsForm:j_idt320:3:j_idt325':'reportsForm:j_idt320:3:j_idt325'}).submit('reportsForm','_blank');return false;" target="_blank">
<span id="reportsForm:j_idt320:3:l2" data-hasqtip="reportsForm:j_idt320:3:tooltipID">Avaliação de Risco Plus</span></a>
</li>
在这部分代码中,我需要点击一个链接的文本,我尝试了无数种方式(包括隐式等待、通过类名、id、xpath等查找元素……),我实现了找到元素的唯一方法是通过以下命令:
afg = driver.find_element_by_link_text('Avaliação de Risco Plus')
但是,当我尝试点击它时,我遇到了以下错误消息:
Message: element click intercepted: Element <a href="#" onclick="jsf.util.chain(this,event,'trackOutboundLink(\'Relatório Sugerido Alerta\', \'Click\', \'...\', \'\', \'_blank\');','mojarra.jsfcljs(document.getElementById(\'companyForm\'),{\'companyForm:tableLastUpdate:1:j_idt262\':\'companyForm:tableLastUpdate:1:j_idt262\'},\'_blank\')');return false">Avaliação de Risco Plus</a> is not clickable at point (550, 745). Other element would receive the click: <div id="fundo">...</div>
我知道 python 不允许我点击我定义为 afg 的内容,因为它被 href = "#" 上的链接截获。但这正是我要点击的链接!
我该如何解决这个问题?
感谢您的帮助:)
【问题讨论】:
-
那个元素在 viewPoint 中吗?还是您必须滚动才能看到该元素?
-
最初是的。但是我最大化窗口以便已经看到它,我遇到了同样的问题。