元素定位常用方法

2022-07-21 03:03:12 字數 1862 閱讀 9902

1

#-*- coding:utf-8 -*-23

"""4

selenium webdriver 定位元素是通過使用 findelement() 和 findelements()方法.

5findelement() 方法返回乙個基於指定查詢條件的 webelement 物件或是丟擲乙個沒有

6找到符合條件元素的異常.

7findelements()方法會返回匹配指定查詢條件的 webelement的集合,如果沒有找到則返回為空.

8findelement() 和 findelements() 方法當找不到相應的元素的時候就會丟擲 nosuchelementfoundexception 異常.

9"""

1011

from selenium import

webdriver

12from selenium.webdriver.common.by import

by13

14 driver =webdriver.firefox()

15 driver.get('

')16print driver.find_element(by.id, '

username

').get_attribute('

type

') #

通過 id 屬性定位元素

1718 driver.get('

')19print driver.find_element(by.class_name, '

s_ipt

').get_attribute('

name

') #

通過 css 屬性定位元素

2021

print driver.find_element(by.name, '

wd').get_attribute('

id') #

通過 name 屬性定位元素

2223

#層級定位, 先定位父元素, 再定位子元素

24print driver.find_element(by.class_name, '

s_ipt_wr

').find_element(by.name, '

wd').get_attribute('

class')

2526

"""27

findelements() 方法, 可以得到匹配指定規則的集合列表

28"""

29 links = driver.find_elements(by.xpath, '

.//a')

30#print type(links)31#

print len(links)

3233

for link in

links:

34print

'url:

', link.get_attribute('

href

'), '

名稱:

', link.get_attribute('

text')

3536

print driver.find_element(by.link_text, '

').get_attribute('

href

') #

通過鏈結名定位鏈結

3738

print driver.find_element(by.partial_link_text, '

').get_attribute('

href

') #

通過部分鏈結名定位鏈結

常用元素定位

1 通過元素id屬性定位 driver.find element by id format 元素id屬性的值 2 通過元素class屬性定位 driver.find element by class name format 元素class屬性的值 3 通過元素的name屬性定位 driver.fin...

元素定位方法

element 只返回匹配到的第乙個元素,且找不到就報錯 通過id屬性定位 textelement driver.find element by id abc 獲取元素文字值,text獲取的是標籤對中間的值 print textelement.text 通過name屬性定位 inp element ...

selenium中常用的元素定位方法

一 selenium中元素定位共有八種 idname classname tagname linktext partiallinktext xpath cssselector 其中前六種都比較簡單,通過id一般可以得到乙個唯一的定位,其他五種要注意元素是否唯一,如果有多個,返回的是匹配的第乙個元素。...