我正在迭代屏幕抓取的链接列表。页面有JavaScript,所以我使用Selenium。我有一个定义的函数来获取每个页面的源。
我应该在该函数中实例化WebDriver
,每个循环会发生一次吗?
或者我应该在函数外部实例化并传递WebDriver
吗?
或者将WebDriver
分配给一个从函数内部可见的变量,而不显式传递它?
答案 0 :(得分:1)
WebDriver
的每个实例化都会启动一个新的浏览器,这是一个非常昂贵的操作,因此选项1不是您想要做的。
我也不会做选项3,因为当可以轻松避免时,依赖于全局变量并不是一个好的编码实践。
这会让你选择2:实例化WebDriver
一次并将实例传递给你的函数。