Selenium 元素定位

2022-09-09 06:39:15 字數 3055 閱讀 6089

一、元素定位

find_element_by_id

find_element_by_name

find_element_by_class_name

find_element_by_xpath()

find_element_by_css_selector()

find_element_by_tag_name()

find_element_by_link_text()              【全匹配】

find_element_by_partial_link_text()  【模糊匹配】

案例:

from selenium import

webdriver

driver =webdriver.chrome()

driver.get(

'')driver.find_element_by_id(

'search-bar-input

').send_keys('

張大仙'

)driver.find_element_by_class_name(

'btn-search

').click()

driver.find_element_by_link_text(

'廣播電視節目製作經營許可證

').click()

driver.find_element_by_partial_link_text(

'廣播電視節目')

driver.find_element_by_name(

'hsk

').send_keys('

英雄聯盟')

#元素多個時取按順序取第乙個

driver.find_element_by_tag_name('

span

').click()

#css定位,多個時按順序取第乙個

driver.find_element_by_css_selector('

a.title

').click()

driver.find_element_by_xpath(

'//*[@id="hy-n**-category"]

').click()

tips:1.定位的元素是超連結,可以使用超連結文字匹配,文字可以是全匹配和模糊匹配

2.css選擇器(往下翻)

3.xpath(往下翻)

①定位元素後,直接copy

②語法去匹配

二、css選擇器

1.css屬性 標籤定位

標籤根據控制項選擇,input標籤則以input開頭,button、span等標籤同理

class--> 用.表示

id------->用#表示

案例:

屬性:.btn-search

標籤:span

標籤和屬性組合:input#kw 

2.層級關係

用》表示層級

案例:div>div>div>div>div>div>div>div>div>div>div>div>div>img

3.其他屬性

格式:[alt="英雄聯盟"]  or  [alt=英雄聯盟]

4.官方文件

官方:選擇器例子

例子描述

.class

.intro

選擇 class="intro" 的所有元素。

.class1.class2

.name1.name2

選擇 class 屬性中同時有 name1 和 name2 的所有元素。

.class1 .class2

.name1 .name2

選擇作為類名 name1 元素後代的所有類名 name2 元素。

#id#firstname

選擇 id="firstname" 的元素。**

選擇所有元素。

element

p選擇所有 元素。

element.class

p.intro

選擇 class="intro" 的所有 元素。

element,element

div, p

選擇所有 元素和所有 元素。

element

element

div p

選擇 元素內的所有 元素。

element 選擇器" href="" rel="noopener">element>element

div > p

選擇父元素是 的所有 元素。

element+element

div + p

選擇緊跟 元素的首個 元素。

element1~element2

p ~ ul

選擇前面有 元素的每個

拓展3-element單複數

find_element_by_  返回單數,直接定位到元素

find_elements_by  返回list

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