gpt4 book ai didi

python 3.6 selenium webdriver 错误 X display is required for sending-keys unable to ues Xvfb

转载 作者:行者123 更新时间:2023-11-28 19:07:45 25 4
gpt4 key购买 nike

我正在使用 selenium webdriver.Chrome 为我的测试环境创建具有特定功能的网络驱动程序。

    class MyDriver(webdriver.Chrome):
def __init__(self, executable_path="chromedriver", port=0,
chrome_options=None, service_args=None,
desired_capabilities=None, service_log_path=None):
super().__init__(executable_path, port, chrome_options, service_args,
desired_capabilities, service_log_path)
# vdisplay = Xvfb()
# vdisplay.start()

部分测试包括使用 element.send_keys(value) 发送 key ,测试运行良好,直到几天前它开始崩溃并显示以下消息:

"selenium.common.exceptions.WebDriverException: Message: unknown error: an X display is required for keycode conversions, consider using Xvfb (Session info: chrome=59.0.3071.115) (Driver info: chromedriver=2.27.440175 (9bc1d90b8bfa4dd181fbbf769a5eb5e575574320),platform=Linux 4.10.0-22-generic x86_64)"

我一遍又一遍地搜索和研究我不明白错误...

我正在使用:

  • python 3.6
  • Selenium
  • PyCharm
  • chromedriver linux_64bit 2.27.440175

我找到的唯一有用的链接是由 chromium 打开的错误在:https://bugs.chromium.org/p/chromedriver/issues/detail?id=1772但我不熟悉那里的工具...

我想知道是否有人有发送 key 或修复此错误的解决方案我已经尝试删除 chrome 并将其降级...它没有帮助!

如有任何帮助,我们将不胜感激!

谢谢

最佳答案

在 Xvfb 遇到这个问题很长时间后,我采用了一种新方法来运行不显示的 selenium 测试:

class MySolutionsDriver(webdriver.Chrome):
def __init__(self, executable_path=PATH_chromedriver, port=0,
chrome_options=None, service_args=None,
desired_capabilities=None, service_log_path=None):
# vdisplay = Xvfb()
# vdisplay.start()

# for full screen uncheck two lines below and import of Options
chrome_options = Options()
chrome_options.add_argument('--headless')
chrome_options.add_argument('--start-maximized')
chrome_options.add_argument('disable-infobars')
chrome_options.add_argument('--disable-extensions')
chrome_options.add_argument('--no-sandbox')
chrome_options.add_argument('--disable-dev-shm-usage')
chrome_options.add_argument("--incognito")

super().__init__(executable_path, port, chrome_options, service_args,
desired_capabilities, service_log_path)

使用 chrome_options 并使用 add_argument 函数添加参数,为了在不显示的情况下运行测试,我使用 >“--headless”。

除此之外,我发现了很多可以添加的好论据!

希望这可以帮助任何人解决这个问题。

PS:仅供引用 - Xvfb 不适用于 Windows(据我所知是 Microsoft 服务器)。

关于python 3.6 selenium webdriver 错误 X display is required for sending-keys unable to ues Xvfb,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44931403/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com