У меня проблемы с селеном. Я вывел модал, который выскакивает со строкой из отправленного запроса. Я ищу использовать findElement, чтобы получить эти данные с помощью xpath и вернуть строку в консоль. Похоже, обещание не выполнено, и я не уверен, как обернуть это в обещание, поэтому я получаю результат этого обещания.
DevTools прослушивает ws: //127.0.0.1: 60822 / devtools / browser / a2114051-85ec-47d7-9d62-9f9809ef732c
Тест пройден
Формы
Обещание {}
var webdriver = require('selenium-webdriver'),
By = webdriver.By,
until = webdriver.until;
USERNAME = 'XXXXXX';
PASSWORD = 'XXXXXXXX';
WEBSITE = 'https://XXXXXXXXXXXXXX/';
var driver = new webdriver.Builder()
.forBrowser('chrome')
.build();
//tag[text()=’text value‘]
driver.get(WEBSITE);
driver.sleep(4000).then(function() {
driver.findElement(By.id('username')).sendKeys(USERNAME);
driver.findElement(By.id('password')).sendKeys(PASSWORD);
driver.findElement(By.id('submit1')).click();
});
driver.sleep(26000).then(function() {
driver.getTitle().then(function(title) {
if (title === 'Forms') {
console.log('Test passed');
console.log(title);
driver.findElement(By.xpath("//*[text() = 'Request']")).click();
//driver.findElement(By.id('market')).selectBuyValue('CI').click();
//*[@id="request"]/div[3]/div/input
driver.sleep(4000).then(function() {
driver.findElement(By.xpath("//*[@id='market']")).sendKeys("CI");
driver.findElement(By.xpath("//*[@id='request']/div[3]/div/input")).click();
});
driver.sleep(10000).then(function() {
console.log(driver.findElement(By.xpath("//*[@id='myModal']/div/div/div[1]/div")).getText());
//THIS WORKS driver.findElement(By.xpath("//*[@id='myModal']/div/div/div[2]/button")).click();
});
} else {
console.log(title);
console.log('took to long');
}
});
});