代码之家  ›  专栏  ›  技术社区  ›  Matt

PhantomJS-无法单击表单按钮

  •  1
  • Matt  · 技术社区  · 7 年前

    我无法使用PhantomJS单击按钮。填充文本框非常有效。我想使用纯js(没有jquery)。思想?

    var page = require('webpage').create();
    
    page.open('https://www.somepage.com/login', function(status) {
    console.log(">page loaded");
    
    page.render('page.png');
    
    page.evaluate(function () {
        var username = "";
        var password = "";
        document.getElementById('login-input').value = username; //works
        document.getElementById('passwd').value = password; //works
        document.getElementsByName('login_button').click(); //this doesn't click the button
    });
    
    console.log(">form submitted");
    
    page.render('page1.png');
    
    phantom.exit();
    });
    
    1 回复  |  直到 7 年前
        1
  •  0
  •   Nisal Edu    7 年前

    您必须在以下代码中触发函数 x.click(); 单击功能后,如下所示。

    var x = document.getElementById("btn");
    document.getElementById("btn").addEventListener('click', function() {
    
      console.log("Clicked !!");
    
    })
    
    x.click();
    <button id="btn">Click</button>