如何使用selenium在请求中发送隐藏参数。 这些参数对最终用户不可见,但作为http请求的一部分。而我的selenium脚本无法模拟相同的内容。由于这个原因,我无法从服务器获取结果。任何建议
TravelMultiController.ajaxSearchResult(302) | search:org.travel.model.Search@cf021a8[
originlocation=Indira Gandhi Airport(DEL) near Delhi in India
destinationlocation=Chhatrapati Shivaji International Airport(BOM) near Mumbai in India
originlocationcode=DEL
destinationlocationcode=BOM
departuredatetime=2015-05-12
returndatetime=2015-05-13
cabin=Economy
adt=1
cnn=0
inf=0
prefered_airline=
originlocationcity=Delhi
destinationlocationcity=Mumbai
destinationCountry=India
] memberId: 2800000101
[SIB] 2015-03-20 13:43:08,269 INFO - TravelManagerImpl.airSearch(405) | called..org.travel.model.Search@cf021a8[
originlocation=Indira Gandhi Airport(DEL) near Delhi in India
destinationlocation=Chhatrapati Shivaji International Airport(BOM) near Mumbai in India
originlocationcode=DEL //(not able to replicate)
destinationlocationcode=BOM //(not able to replicate)
departuredatetime=2015-05-12
returndatetime=2015-05-13
cabin=Economy
adt=1
cnn=0
inf=0
prefered_airline=
originlocationcity=Delhi
destinationlocationcity=Mumbai
destinationCountry=India
]
我无法发送这两个参数originlocationcode = DEL destinationlocationcode =我的请求中的BOM。请提出一些解决方法。
答案 0 :(得分:0)
这不是硒的支持。
您可以通过编写一个javascript函数来使其工作,该函数通过WebDriver上的executeScript方法从当前浏览器会话发送此请求。
请记住,Selenium的目的是模拟真实用户,而不是发送后端请求。您可以在JMeter中找到更合适的工具,或者编写自己的接口来发送此类请求。
如果身份验证cookie是您在Selenium中尝试执行此操作的问题 - WebDriver.manage()。getCookies()将帮助您解决此问题。您可以将cookie拉出来并将它们放入请求中。