Selenium專題 元素定位非Xpath

2021-08-22 15:02:20 字數 1895 閱讀 9784

1、通過id獲取元素的

driver.findelement(by.id("kw"));
2、通過name的值

driver.findelement(by.name("wd"));
3、通過標籤的名稱,獲取元素

listlistelements = driver.findelements(by.tagname("input"));
4、通過超連結的名稱,獲取元素

5、通過超連結的名稱模糊匹配,獲取元素

driver.findelement(by.partiallinktext("新"));
6、通過標籤的樣式名稱,獲取元素,有可能存在多個元素存在的情況

driver.findelement(by.classname("s_ipt"));
7、通過 cssselector

7.1根據tagname-語法:driver.findelement(by.cssselector("標籤名稱"));
driver.findelement(by.cssselector("input"));
7.2根據id
// 單一的id :

driver.findelement(by.cssselector("#id")); 只是#id

driver.findelement(by.cssselector("#kw"));

//標籤+id:driver.findelement(by.cssselector("input#username"));html標籤和#id

driver.findelement(by.cssselector("input#kw"));

7.3-根據classname(根據樣式名稱)
/單一class:driver.findelement(by.cssselector(".username"));.class 

driver.findelement(by.cssselector(".s_ipt"));

// 多個:class:driver.findelement(by.cssselector(".s_ipt.**.***"));

driver.findelement(by.cssselector(".bg.s_btn"));

//標籤+樣式名稱:driver.findelement(by.cssselector("標籤名稱.classname"));

driver.findelement(by.cssselector("input.s_ipt"));

7.4.根據元素屬性
//單個元素屬性: driver.findelement(by.cssselector("標籤名[屬性名稱1]=屬性值1")

driver.findelement(by.cssselector("input[id=kw]"));

//多個元素屬性:[c] driver.findelement(by.cssselector("input[type='submit'][value='login']"));多屬性

driver.findelement(by.cssselector("input[id='kw'][name='wd']"));

//判斷某個元素是否有該元素屬性,判斷input有autocomplete屬性的input標籤

driver.findelement(by.cssselector("input[autocomplete]"));

Selenium 元素定位

ui自動化中元素的定位是最最基本,但也是最讓人頭痛的地方。控制項的動態載入,屬性的動態生成抑或因為開發的懶而造成控制項的識別問題總是自動化測試的噩夢。webdriver作為主流的網頁測試工具提供了非常豐富的識別控制項的方法。這次在寫自動化庫的時候也遇到各種定位問題,著實抓狂了一陣,但最終都解決了。雖...

selenium元素定位

單數形式 複數形式,返回的是乙個列表 使用範圍 a.元素有id屬性 b.id不是動態的,為固定值 driver.find element by id id屬性值 使用範圍 a.元素有id屬性 b.id不是動態的,為固定值 語法 driver.find element by name name屬性值 ...

selenium元素定位

一,元素定位方式 from selenium import webdriver from selenium.webdriver.support import expected conditions as ec import time driver webdriver.chrome driver.ge...