【问题标题】:How to open multiple instances of Firefox using python?如何使用 python 打开多个 Firefox 实例?
【发布时间】:2014-06-24 22:21:57
【问题描述】:

有人可以帮助我了解如何在 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

【问题讨论】:

标签: python selenium


【解决方案1】:

一方面:

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())
    ...

现在您可以访问所有这些。

【讨论】:

  • 两件事:1. 代码在 cmets 中很难阅读(尤其是 Python,缩进很重要)。 2:你对问题的描述是没有用的。但是,问题很明确;你需要getquit 列表中的每个实例单独 - 你不能只调用列表中的方法并期望它工作。
猜你喜欢
  • 1970-01-01
  • 2015-07-09
  • 1970-01-01
  • 2018-11-07
  • 1970-01-01
  • 2015-10-23
  • 1970-01-01
  • 2017-04-13
  • 1970-01-01
相关资源
最近更新 更多