获取控制台日志错误代码Selenium js

问题描述

以下是我在Selenium JS中的代码,在最后一步,我想从浏览器控制台获取错误代码,我需要检查一下,当前浏览器控制台中不应有任何504错误代码页面

driver.get(M_URL)
    .then(() => {
        return driver.findElement(By.xpath('//input[@id="UserName"]'))
            .then(el => el.sendKeys(USERNAME));
    })
    .then(() => {
        return driver.findElement(By.xpath('//input[@id="Password"]'))
            .then(el => el.sendKeys(PASSWORD));
    })
    .then(() => {
        return driver.findElement(By.xpath('//button[text()="Login"]'))
            .then(el => el.click());
    })
    .then(() => {
    return driver.findElement(By.xpath('//h3[text()[contains(.,"Publisher")]]')).click()
        .then(() => log('Publisher page is rendered'));
    })
    .then(() => log('check 504 error code in browser console'));

预先感谢!

解决方法

这是怎么做

require('chromedriver');

const path = require('path');
const wd = require('selenium-webdriver');
const chrome = require('selenium-webdriver/chrome');

var builder = new wd.Builder();
var options = new chrome.Options();
var prefs = new wd.logging.Preferences();
var driver;

prefs.setLevel(wd.logging.Type.BROWSER,wd.logging.Level.ALL);
options.setLoggingPrefs(prefs);

driver = builder
    .forBrowser(wd.Browser.CHROME)
    .setChromeOptions(options)
    .build();

driver
    .get(`file://${path.resolve(__dirname,'./page.html')}`)
    .then(() => driver.manage().logs().get(wd.logging.Type.BROWSER))
    .then((logs) => {
        console.log(logs);
    })
    .then(() => driver.quit());

有关它的更多信息here

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...