基于nodejs的selenium的自动化测试之网络元素

// 此方法用于在父元素的上下文中查找匹配子WebElement的列表. 为此, 父WebElement与"findElements"链接并访问子元素.
const {Builder, By} = require('selenium-webdriver'); (async function example() { let driver = new Builder() .forBrowser('chrome') .build(); await driver.get('https://www.example.com'); let element = driver.findElement(By.css("div")); let elements = await element.findElements(By.css("p")); for(let e of elements) { console.log(await e.getText()); } })();

2.isEnabled()

此方法用于检查网页上连接的元素是否被启用或禁用. 返回一个布尔值, 如果在当前浏览上下文中启用了连接的元素, 则返回True; 否则返回false

await driver.get('https://www.google.com');
let element =  await driver.findElement(By.name("btnK")).isEnabled();

3.isSelected()

此方法确定是否 已选择 引用的元素. 此方法广泛用于复选框, 单选按钮, 输入元素和选项元素.

返回一个布尔值, 如果在当前浏览上下文中 已选择 引用的元素, 则返回 True, 否则返回 False.

await driver.get('https://the-internet.herokuapp.com/checkboxes');
let res = await driver.findElement(By.css("input[type='checkbox']:last-of-type")).isSelected();

4.getTagName()

此方法用于获取在当前浏览上下文中 具有焦点的被引用元素的 TagName .

await driver.get('https://www.example.com');
let value = await driver.findElement(By.css('h1')).getTagName();

5.getRect()

用于获取参考元素的尺寸和坐标.主要包括元素的高度,宽度,x轴坐标,y轴坐标

await driver.get('https://www.example.com');
let element =  await driver.findElement(By.css("h1")).getRect();

6.getCssValue()

获取元素的特定计算样式属性的值.

await driver.get('https://www.example.com');
let cssValue = await driver.findElement(By.linkText("More information...")).getCssValue('color');

7.getText()

获取特定元素渲染后的文本

await driver.get('http://www.example.com');
let text = await driver.findElement(By.css('h1')).getText();

 

8.isDisplayed()  

  判断元素是否可见,可用于display控制元素的显示与隐藏

let panel = await driver.findElement(By.className('class'))     
      panel.isDisplayed().then(res => {
        console.log('---',res) // 输出false/true
      })

 

posted @ 2021-08-10 14:16  cmwang2017  阅读(182)  评论(0编辑  收藏  举报