web=webdriver.Firefox()
web.get()
def work1():
pass
def work2():
pass
def work3():
pass
w1 = Process(target=work1,name='w1')
w2 = Process(target=work2,name='w2')
w3 = Process(target=work3,name='w3')
w1.start()
w2.start()
w3.start()
这样web.get()会打开一个firefox. 三个进程也打开三个firefox。
这下就四个了。
我是想能不能让它们只打开一个firefox工作???
(不用线程)
(语法不是问题的重点,只是说明问题随手打的)
不能。
题主的意思应该是使用多线程获取网页信息,然而一个html文档必须占用一个窗口,现代浏览器使用标签页解决这个问题,那么题主可以在firefox中设置默认使用标签页打开窗口。
另外,应该在主线程中打开全部窗口,然后将窗口对象传递至子进程。否则,firefox会认为自己被多个进程调用。
可以打开多个标签页吧?