【发布时间】:2017-11-19 07:46:57
【问题描述】:
我的目标是在一个定期自行刷新的页面上运行大约两打无头 chrome 驱动程序。一旦驱动程序检测到页面源中出现的某个关键字,该关键字会为每个会话随机事件,我希望无头驱动程序能够与用户进行交互。
将无头 chrome 驱动程序变成用户可以看到并与之交互的常规驱动程序是否可行?我想到的另一个可能可行的想法是将无头 chrome 驱动程序的会话和 cookie “转移”到常规 chrome 驱动程序中,但同样,我不确定这是否可行。
我想在第一部分使用无头驱动程序,因为它们不会弄乱屏幕而且速度很快。
【问题讨论】:
-
这听起来像是一个奇怪的用例,可能不是您真正想要的。通过运行这些无头 Chrome 实例,您实际上想达到什么目的?可能有更好的方法来做到这一点。
-
每个实例都是为了监控一个页面,一旦它检测到变化(每个实例随机发生),用户应该能够与之交互。 ;;;把它想象成彩票,用户拥有的实例越多,他们在页面中获得随机变化的机会就越大。我使用纯 chrome 驱动程序对此进行了编码,但速度有点慢,而且我的计算机在开始崩溃之前只能处理大约 30 个实例。
-
所以它在等待某种 Javascript 事件?
-
我不确定它是否是 Javascript,但基本上,浏览器正在监视的页面是一个队列页面。页面会自行刷新,最终浏览器会在获得 HMAC cookie 后通过队列。对于每个实例,何时以及是否获取 HMAC cookie 是随机的,所以我想通过增加实例的数量来最大化机会。这个想法适用于常规的 chrome 驱动程序,但我想要一些更干净、对我的电脑压力更小的东西。
-
它是否必须刷新或者它可以发送另一个请求?如果您可以重复请求,那么您可以使用非常基本的东西,例如 Curl 或 Guzzle 来获取页面。否则你会被一些可以执行 Javascript 的东西卡住,这实际上会限制你使用无头 Chrome 或 PhantomJS 之类的东西。
标签: python google-chrome selenium driver