如何使用python打开多个Firefox实例?

时间:2014-06-24 22:21:57

标签: python selenium

有人可以帮我解决如何在python中使用selenium打开多个firefox实例。

我编写了以下代码并且确实打开了多个实例,但是我希望保留对浏览器的所有引用,以便我可以访问每个浏览器来执行特定任务,并且应该能够在测试完成后退出所有浏览器

class LoadTestCase(unittest.TestCase):

def setUp(self):
    i = 0
    while (i < 2):
      self.driver = webdriver.Firefox()
      self.driver.implicitly_wait(30)
      self.base_url = "http://example.com/"
      self.verificationErrors = []
      self.accept_next_alert = True
      driver = self.driver
      url = "http://example.com/"
      driver.get(self.base_url + "/")
      i = i + 1

1 个答案:

答案 0 :(得分:0)

一方面:

for i in range(2):
    ...

比以下更简洁,更不容易出错:

i = 0
while i < 2:
    ...
    i = i + 1 # or just 'i += 1'

但是你的主要问题是每次循环你替换之前的webdriver,失去对它的访问权限:

self.driver = webdriver.Firefox()

相反,请考虑一个列表:

self.drivers = []
for i in range(2):
    self.drivers.append(webdriver.Firefox())
    ...

现在您可以保留对所有这些内容的访问权限。