将用户导航到URL并模拟用户按向下箭头或单击按钮3次

时间:2018-11-24 00:11:09

标签: javascript jquery selenium navigation keypress

我在wordpress中使用的滑块不包含锚点,以允许我们链接到特定部分。

是否可以使用Java或Selenium将用户导航到URL并模拟用户按下箭头或单击按钮3次。

我们可以锚定到文本块,但是分屏滑块的功能如何正确加载页面。

我们正在本地开发,但这是主题示例。我正在尝试链接到幻灯片3。http://tahoe.edge-themes.com/split-screen-slider/

后端功能不是我的强项。谢谢。

1 个答案:

答案 0 :(得分:0)

我只能看到一种使用JavaScript的方法,将以下内容注入页面,并在需要的地方进行更改:

// Get a reference to the button element needing to be clicked

var button = document.querySelector("button");

// Use the following function:

navigateToPage(button, "page");

// Link to page with query string of `?page=[n]` (see URL),
// then click the specified element n times

function navigateToPage(button, queryParamName) {
  var times = parseInt(getQueryVariable(queryParamName), 10);
  for (var i = 0; i < times; i++) {
    button.click();
  }
}

// Taken from: https://stackoverflow.com/questions/2090551/parse-query-string-in-javascript
// ----
// If you don't need to support IE 11, see https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams/get
// for a more native solution to fetch query params.

function getQueryVariable(variable) {
  var query = window.location.search.substring(1);
  var vars = query.split("&");
  for (var i = 0; i < vars.length; i++) {
    var pair = vars[i].split("=");
    if (decodeURIComponent(pair[0]) == variable) {
      return decodeURIComponent(pair[1]);
    }
  }
  return variable;
}

有关实时示例,请参见以下“代码和框”:

https://codesandbox.io/s/ox0k1y16k6

根据URL中的查询参数查看按钮被单击的次数:

https://ox0k1y16k6.codesandbox.io/?page=3

https://ox0k1y16k6.codesandbox.io/?page=10