尝试将数据输入到输入标签,但Sendkeys不起作用

时间:2018-07-10 17:44:50

标签: javascript node.js selenium-webdriver

我正在尝试为我工作的网站自动化申请流程。我正在使用Selenium Web驱动程序和node.js。我可以浏览不同的页面,但无法在输入字段中获得任何文本。有人可以协助我吗?请在下面查看我的代码。

"use strict";

var webdriver = require('selenium-webdriver');
var browser = new webdriver.Builder().usingServer().withCapabilities({'browserName': 'chrome' }).build();

function clickLink(link) {
    link.click();
}

function handleFailure(err) {
    console.error('Something went wrong\n', err.stack, '\n');
    closeBrowser();
}

function createOptumID() {
    return browser.findElements(webdriver.By.id('createOptumID')).then(function(result) {
        return result[0];
    });
}

function newOptumID() {
    return browser.findElements(webdriver.By.id('firstNameId_input')).then(function(result) {
        return result[0];
    });
}

function closeBrowser() {
    browser.quit();
}

browser.get('https://qa-ind.mahealthconnector.optum.com/individual/');
browser.findElement(webdriver.By.id('enrollment')).click();
browser.wait(createOptumID, 100000).then(clickLink);
browser.wait(newOptumID, 100000).then(clickLink);
browser.findElement(webdriver.By.id('firstNameId_input')).sendKeys('Erin');

2 个答案:

答案 0 :(得分:0)

使用webdriver对象的executeScript方法,如下所示:

//runs the script get the element by id then set it's value attribute to 'Erin'
webdriver.executeScript("document.getElementById('firstNameId_input').setAttribute('value', 'Erin')");

答案 1 :(得分:0)

您可以使用webelement的getAttribute方法获取输入字段的值
browser.findElement(webdriver.By.id('firstNameId_input'))。getAttribute(“ value”);