在循环时我应该在哪里实例化我的WebDriver实例?

时间:2015-02-14 11:03:11

标签: python selenium

我正在迭代屏幕抓取的链接列表。页面有JavaScript,所以我使用Selenium。我有一个定义的函数来获取每个页面的源。

  1. 我应该在该函数中实例化WebDriver,每个循环会发生一次吗?

  2. 或者我应该在函数外部实例化并传递WebDriver吗?

  3. 或者将WebDriver分配给一个从函数内部可见的变量,而不显式传递它?

1 个答案:

答案 0 :(得分:1)

WebDriver的每个实例化都会启动一个新的浏览器,这是一个非常昂贵的操作,因此选项1不是您想要做的。

我也不会做选项3,因为当可以轻松避免时,依赖于全局变量并不是一个好的编码实践。

这会让你选择2:实例化WebDriver一次并将实例传递给你的函数。