from selenium importwebdriver
import
time
#這一步會開啟乙個空白的瀏覽器
driver =webdriver.chrome()
#訪問**
driver.get("
")#元素定位的第一種方式--id屬性定位
driver.find_element_by_id("kw")
#元素定位的第二種方式,根據 name 屬性定位
driver.find_element_by_name("
username
").send_keys("
libai")
driver.find_element_by_name(
"password
").send_keys("
opmsopms123")
#元素定位的第三種方式,根據 class 屬性定位
#若 class 屬性有空格,證明是復合類,多個值以空格區分
driver.find_element_by_class_name("
btn-login
").click()
time.sleep(3)
#元素定位的第四種方式,根據鏈結文字定位-不能漏字錯字
print(driver.find_element_by_link_text("
opms官網
").text) #
text 可以獲取元素的文字值
#元素定位第五種方式,根據鏈結文字--模糊匹配-不能錯字但可以漏字
print(driver.find_element_by_partial_link_text("
opm"
).text)
#元素定位第六種方式, 根據 css 表示式定位(萬能定位方式)
driver.find_element_by_css_selector(
"body > section > div.left-side.sticky-left-side > div.left-side-inner > ul > li:nth-child(2)
").click()
#元素定位第七種方式, 根據 xpath定位
driver.find_element_by_xpath("
/html/body/section/div[1]/div[3]/ul/li[5]
").click()
#元素定位的第八種方式,根據標籤名稱定位
driver.find_element_by_tag_name("") #
多數情況下,用不到這個
#找不到元素的四種原因
#1、元素定位表示式寫錯了,或元素不存在於介面
#2、元素未載入,而**已經操作到
#3、內嵌網頁
#4、多標籤頁
五 Selenium元素定位的八種方法
自動化一般需要四步操作 獲取元素,操作元素,獲取返回結果,斷言 返回結果與期望結果是否一致 最後自動出測試報告。selenium提供8種元素定位的方法 id,name,class name,link text,xpath,css selector,tag name partial link tex。...
Selenium 元素定位
ui自動化中元素的定位是最最基本,但也是最讓人頭痛的地方。控制項的動態載入,屬性的動態生成抑或因為開發的懶而造成控制項的識別問題總是自動化測試的噩夢。webdriver作為主流的網頁測試工具提供了非常豐富的識別控制項的方法。這次在寫自動化庫的時候也遇到各種定位問題,著實抓狂了一陣,但最終都解決了。雖...
selenium元素定位
單數形式 複數形式,返回的是乙個列表 使用範圍 a.元素有id屬性 b.id不是動態的,為固定值 driver.find element by id id屬性值 使用範圍 a.元素有id屬性 b.id不是動態的,為固定值 語法 driver.find element by name name屬性值 ...