无法使用Python Selenium单击ahref链接

无法使用Python Selenium单击ahref链接,python,selenium,automation,Python,Selenium,Automation,这是html代码: <div id="dcf-page-export-buttons" class="no-print" style="display: block;"> <a id="dcf-saveaspdf" href="#" target="_blank" class="k-button

这是html代码:

<div id="dcf-page-export-buttons" class="no-print" style="display: block;">
                            <a id="dcf-saveaspdf" href="#" target="_blank" class="k-button">

                                Save as PDF
                            </a>
                            <a id="dcf-saveaspng" href="#" target="_blank" class="k-button">

                                Save as Image
                            </a>
                                                  <a id="dcf-printPdf" class="k-button" href="#">

                                Print
                            </a>
                        <a id="dcf-btnClose" class="k-button" href="#">

                            Close
                        </a>
                   </div>
在按id查找要打印的元素之前,我单击了Export href,它打开了一个新选项卡,在打开新选项卡之后,我试图单击print,但出现了一个错误。这就是错误:

selenium.common.exceptions.ElementNotInteractableException: Message: element not interactable
如果我在某个地方出错或者html中有问题,请告诉我


问题的第一部分已经回答。这是第二部分:

单击此打印按钮时:

这个窗口打开了。它本身不是一个新选项卡,只是一个新窗口。在该窗口中,我想单击保存按钮。有办法做到这一点吗?这是视图的外观:

这是html代码

<cr-button class="action-button" aria-disabled="false" role="button" tabindex="0">
    Save
  </cr-button>
这是错误日志的剪报。我添加了剪报,因为我不确定错误

错误的小延续:

selenium.common.exceptions.ElementNotInteractableException: Message: element not interactable

您需要先切换到“新建”选项卡,然后使用您一直尝试的Id单击“打印”

切换到新窗口,如下所示:

driver.switch_to.window(driver.window_handles[1])

从错误中可以看出,您试图访问的元素不可交互。
因此,问题不在于HTML。
我看不到您正在处理的页面,但问题可能是您试图访问的元素不在视图中。
试试这个


嘿,我已经编辑了我的问题以添加下一部分。请你检查一下。谢谢@你能点击它吗?如果不是,现在的错误是什么?为什么要使用这个驱动程序。执行脚本(“document.getElementById('dcf-user-info')。style.display='none';”)?我无法单击它。这个脚本被我用来删除页面样式的特定部分,这没什么好担心的。我将在我的问题中添加错误。我已经添加了错误图片。我可以使用以下链接解决它:嘿,我已经编辑了我的问题以添加下一部分。请你检查一下。谢谢我通过这个链接解决了这个问题:嗨,如果你有时间的话,你能看看我的新问题吗:你的错误是
KeyboardInterrupt
——对我来说,只有当我在终端中按CTRL-C结束这个过程时才会发生这种情况。每次运行代码时都会发生这种情况?嘿,我找到了正确的答案,我已经接受了。不过为了回答你的问题,是的,我按了Ctrl+C,然后收到了键盘中断消息。反正没关系,因为我知道答案了。谢谢
driver.switch_to.window(driver.window_handles[1])
from selenium.webdriver.common.action_chains import ActionChains

print = driver.find_element_by_id("dcf-printPdf")

ActionChains(driver).move_to_element(print).click(button).perform()