如何使用selenium在请求中发送隐藏参数

时间:2015-03-20 09:54:18

标签: security http selenium selenium-webdriver

如何使用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。请提出一些解决方法。

1 个答案:

答案 0 :(得分:0)

这不是硒的支持。

您可以通过编写一个javascript函数来使其工作,该函数通过WebDriver上的executeScript方法从当前浏览器会话发送此请求。

请记住,Selenium的目的是模拟真实用户,而不是发送后端请求。您可以在JMeter中找到更合适的工具,或者编写自己的接口来发送此类请求。

如果身份验证cookie是您在Selenium中尝试执行此操作的问题 - WebDriver.manage()。getCookies()将帮助您解决此问题。您可以将cookie拉出来并将它们放入请求中。