我正在尝试为我工作的网站自动化申请流程。我正在使用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');
答案 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”);