Selenium元素定位

2022-09-01 18:45:09 字數 2485 閱讀 9605

常用的定位方法有如下方法:

"""id定位"""

self.driver.find_element_by_id("kw").send_keys("linux")

self.driver.find_element_by_id("su").click()

def test_locator_by_name(self):

"""name定位"""

self.driver.find_element_by_name("wd").send_keys("linux")

def test_locator_by_xpath(self):

"""xpath定位"""

# self.driver.find_element_by_xpath("//*[@id='kw']").send_keys("linux")

# self.driver.find_element_by_xpath("//*[@name='wd']").send_keys("linux")

self.driver.find_element_by_xpath("//*[@class='s_ipt']").send_keys("linux")

def test_locator_by_link_text(self):

"""鏈結文字定位"""

self.driver.find_element_by_link_text("新聞").click()

def test_locator_by_partial_link_text(self):

"""部分鏈結文字定位"""

self.driver.find_element_by_partial_link_text("hao").click()

def test_locator_by_tag(self):

"""tag標籤定位"""

element=self.driver.find_element_by_tag_name("input")

print(element.tag_name)

find_element()方法用於定位元素,它需要傳入兩個引數,第乙個引數是定位的型別,由by模組提供(使用前需要通過from selenium.webdriver.common.by import by匯入by模組),第二個引數是具體定位的方式。

# self.driver.find_element(by.name,"wd").send_keys("selenium") #name定位

# self.driver.find_element(by.id,"su").click() #id定位

# self.driver.find_element(by.link_text,"新聞").click()

self.driver.find_element(by.partial_link_text,"123").click()

後面會採用資料分離的方式將定位元素分開,此時會採用下列寫法:

後面會將input_locator = (by.name,"wd")提出來,放在統一地方進行管理。

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...