使用Selenium Java捕获onclick()JavaScript调用的参数

时间:2019-05-20 11:48:56

标签: java selenium-webdriver

我正在用Java编写硒脚本,以捕获JavaScript onclick()调用/方法中传递的参数。附件为突出显示方法/功能名称的图像。

on click method

在此方法中,我要捕获一些参数/参数,就像捕获任何CSS选择器一样。我无法做到这一点。在下面的附件图像中,我想捕获诸如“ content_ids”,“ content_type”,“ value”,“ currency”和“ content_name”之类的参数。请给我建议。

method parameters

1 个答案:

答案 0 :(得分:0)

我猜想这可以使用Javascript执行程序来完成,因为onclick方法已作为函数分配给javascript中的函数名称productAddToCardForm.submit = function(button, url) { ......

WebElement button  = driver.findElement(By.Xpath("//button[@title='Add to Bag']"));
// get the onclick function name trimming the "("
String onclickFunctionName = button.getAttribute("onclick").split("(")[0];

// Use javascript executor to get the value of the onclick function
JavascriptExecutor js = (JavascriptExecutor) driver;
// return value of productAddToCardForm.submit
String function  = js.executeScript("return " + onclickFunctionName); // return function(button, url) { ......

// Do String split and matching to extract required values from the function string.