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一般可以得到乙個唯一的定位,其他五種要注意元素是否唯一,如果有多個,返回的是匹配的第乙個元素。...