我有以下代码片段可以正常工作:
from pyvirtualdisplay import Display
from selenium import webdriver
display = Display(visible=0, size=(800, 600))
display.start()
browser = webdriver.Firefox()
browser.get('http://www.google.com')
print(browser.title)
browser.quit()
display.stop()
但是当我通过添加
忽略SIGCHLD信号时import signal
signal.signal(signal.SIGCHLD, signal.SIG_IGN)
到代码的开头我收到以下错误:
selenium.common.exceptions.WebDriverException:消息:“浏览器 在我们连接之前似乎已经退出。输出是: b'Error:无法打开显示:: 1127 \ n'
忽略SIGCHLD如何与显示相关?以及如何解决它?
答案 0 :(得分:0)
最后,我通过处理SIGCHLD解决了这个问题,而不是忽略它:
def sigchld_nahdler(signum, frame):
os.waitpid(0, 0)
signal.signal(signal.SIGCHLD, sigchld_handler)