【发布时间】:2014-07-01 17:16:09
【问题描述】:
我正在尝试测试网页对来自不同引荐来源的请求的行为。到目前为止,我正在执行以下操作
webdriver.DesiredCapabilities.PHANTOMJS['phantomjs.page.customHeaders.referer'] = referer
问题是网页有 ajax 请求,这会改变 html 中的一些内容,这些 ajax 请求应该作为网页本身的引用者,而不是我一开始给出的引用者。似乎引用者在开始时设置了一次,并且每个后续请求(无论是 ajax 或图像还是锚点)都采用相同的引用者,并且无论您浏览多深,它都不会改变,是否有解决方案只为第一个请求选择引用者并让它保持动态?
经过一番搜索,我找到了this,我尝试通过 selenium 实现它,但我还没有取得任何成功:
webdriver.DesiredCapabilities.PHANTOMJS['phantomjs.page.onInitialized'] = """function() {page.customHeaders = {};};"""
有什么想法吗?
【问题讨论】:
-
埃文好运吗?我也有同样的问题。
-
@norbertpy 嘿,抱歉耽搁了。不,我记得我没有通过 python 管理这个。我必须创建一个 js 脚本,并且在使用设置的引用者发起请求时,我使用了一个名为“oncomplete”(或类似的东西)的事件将引用者重置为空字符串并且有效。如果您需要实际的脚本,请告诉我。
-
@norbertpy 下面的回复对我来说来得太晚了,但它似乎会起作用。如果您想将所有内容(ish)保留在 python 中,您可以尝试这样做。