【问题标题】:Bad Image C:\Windows\system32\xxx.dll is either not designed to run on Windows, or it contains an error using ChromeDriver and Chrome through Selenium错误图像 C:\Windows\system32\xxx.dll 不是为在 Windows 上运行而设计的,或者它包含通过 Selenium 使用 ChromeDriver 和 Chrome 的错误
【发布时间】:2021-03-05 01:51:01
【问题描述】:

我有一个 python selenium 脚本,它加载 Google chrome 驱动程序,然后对 URL 进行一些自动化操作。以下是我在脚本中加载驱动程序的方式:

    try:
        self.driver = webdriver.Chrome(options=options, executable_path=self.path)
    except Exception as err:
        print(str(err))
    else:
        print("Chrome driver Launched")
        self.Login_url()

    '''Login_url() and other functions defined below...

但当代码在 try 块中时(即 chrome 驱动程序仍在加载),我会弹出一些窗口消息框,如下图所示:

只有当我在所有消息框上手动单击“确定”时,控件才会到达我代码中的 else 部分,打印"Chrome driver Launched",然后进一步移动。

因此我想这样做:

在我的脚本中编写一个 python 函数,首先确定是否弹出了 windows msgbox(这很重要,因为上述消息框不会在我每次运行我的脚本时弹出)。如果识别出弹出窗口,则单击确定。

如何在以下选项中处理此问题(答案的偏好按确切顺序)

  1. Selenium 本身通过添加一些 webdriver 首选项/选项?
  2. 使用 python 的默认 tkinter 包进行 Windows GUI 自动化?
  3. 使用 python 的 pywinauto 包实现 GUI 自动化?

请帮忙。

【问题讨论】:

  • 我已经浏览了stackoverflow.com/questions/12450384/… 的文章。类似这样的python等价物应该会有所帮助
  • Tkinter 在这里绝对没用。
  • 为什么不尝试修复 chrome 而不是开发一种关闭弹出框的方法?

标签: python windows selenium google-chrome selenium-chromedriver


【解决方案1】:

此错误消息...

...暗示 ChromeDriver 无法启动/生成新的浏览上下文,即 Chrome 浏览器 会话。


详情

根据文章How to Fix/Remove Bad Image Error Windows 10,任何与文件或系统损坏问题相关的因素都可能导致此错误,例如过度系统清理、关键程序文件删除、病毒或恶意软件感染等。可能会出现错误图像错误在任何版本的 Windows 中,包括


解决方案

可以通过以下任一方法解决此问题:

  • 卸载并重新安装
  • 卸载有问题的 Windows 更新可以有效地修复 Bad Image 错误。脚步:
    • 在 Windows 的搜索框中键入控制面板,然后按 Enter。
    • 导航到“程序和功能”。
    • 在左侧面板上,点击“查看已安装的更新”。
    • 在右侧面板上,找到导致错误映像错误的 Windows 更新版本,然后单击“卸载”并重新启动计算机。

  • 如果 Bad Image 错误是由损坏的系统文件引起的,请使用系统文件检查器对文件进行彻底检查完整性并自动修复所有损坏的系统文件。
  • 正在运行 Windows 自动修复。脚步:
    • 从可启动的安装媒体启动 Windows 并继续修复您的计算机选项。
    • 点击“疑难解答”>“高级”选项,然后点击“自动修复”。
    • 等待 Windows 自动修复完成。重新启动您的计算机。

  • 执行系统还原:Windows 10 安装程序默认关闭系统还原。如果您已启用 系统还原 并事先创建了系统还原点,则此选项是您修复 Bad Image 错误的最后手段。脚步:
    • 在 Windows 10 中搜索系统还原,点击“创建还原点”。
    • 单击“系统还原”,然后选择不同的还原点并单击“下一步”。按照向导执行系统还原,以返回到未发生错误映像错误的系统点。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-10-12
    • 1970-01-01
    • 2020-04-26
    • 2022-01-24
    • 1970-01-01
    • 2015-12-11
    • 1970-01-01
    相关资源
    最近更新 更多