gpt4 book ai didi

python - 在服务器上运行 Django-selenium 项目

转载 作者:行者123 更新时间:2023-11-28 19:17:00 26 4
gpt4 key购买 nike

我在虚拟环境中开发了一个 django 项目,它在我的一个 .py 程序中使用了 selenium 模块,如下所示:

 from selenium import webdriver
self.driver = webdriver.Firefox()
self.driver.implicitly_wait(10)
self.base_url = "%s"%(website)
self.verificationErrors = []
self.accept_next_alert = True
driver = self.driver
driver.get(self.base_url + "/")
driver.find_element_by_link_text("Sign In").click()
driver.implicitly_wait(15)
driver.switch_to_window(driver.window_handles[-1])
driver.find_element_by_id("authentication_email").clear()
driver.find_element_by_id("authentication_email").send_keys("%s"%(username))
driver.find_element_by_css_selector("button.isReturning.isTransitionToSecondary").click()
driver.find_element_by_id("authentication_password").clear()

它在我的虚拟环境中运行良好,但是当我在服务器上部署后尝试使用它时,我收到以下错误:

 WebDriverException

Message: The browser appears to have exited before we could connect. If you specified a log_file in the FirefoxBinary constructor, check it for details.

我开始知道 selenium webdriver 只在客户端而不是服务器上运行(如果我错了请纠正我),那么有什么办法可以在服务器上执行相同的命令吗?也许导入任何新模块或调用 api?如果有人有见识,请指导我。在此先感谢。

最佳答案

看起来你的服务器没有显示。尝试查看虚拟显示 (xvnc/xvfb)。您也可以尝试使用 PyVirtualDisplay:https://pypi.python.org/pypi/PyVirtualDisplay它可能看起来像这样:

from pyvirtualdisplay import Display
from selenium import webdriver

self.display = Display(visible=0, size=(1024, 768))
self.display.start()
self.driver = webdriver.Firefox()

关于python - 在服务器上运行 Django-selenium 项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32479813/

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