我使用Selenium网格来抓取数千页,因为所有页面都被Javascript大量填充。
我发现这个tutorial让我对如何设置Selenium网格和并行运行脚本有了很好的了解。但是,我的情况有点不同。
(1)我只想要一种类型的浏览器,例如Chrome(或Firefox),但我希望尽可能多地运行。
(2)为确保此解决方案可扩展,我可能会使用一些Cloud服务,其中代码将在Linux环境中运行。
所以这是我的问题:
我是否必须使用TestNG / Junit框架工作来并行运行代码?如果我在多个进程中运行代码,所有向同一个集线器发出请求,集线器是否会将它们开箱即用?
答案 0 :(得分:3)
(1)我只想要一种类型的浏览器,比如Chrome(或Firefox),但是我 想尽可能多地跑。
你应该运行的不是那么多,而是一个启发式数字,它只适合你。原因是,一次运行30个Chrome浏览器会给你带来不可预测的结果。
(2)为了确保此解决方案的规模,我可能会使用一些云 代码将在Linux环境中运行的服务。
您可以查看BrowserStack
我是否必须使用TestNG / Junit框架工作来并行运行代码?
多达你。至于你在多个线程中创建driver
你的罚款。如果您使用自己的FW,那么您可以创建线程池并开始从每个线程池创建driver
。
如果我在多个进程中运行代码,则所有进程都会向 同一个集线器,集线器是否会将它们开箱即用?
是的,Selenium Hub将为您提供开箱即用的协调功能。你无需担心这里的任何事情。