Selenium元素定位

来源:互联网 发布:cbox网络电视去广告版 编辑:程序博客网 时间:2024/06/08 14:08

selenium WebDriver 定位元素是通过使用 findElement()和 findElements()方法。
findElement()方法返回一个基于指定查寻条件的 WebElement 对象或是抛出一个没有
找到符合条件元素的异常。
findElements()方法会返回匹配指定查询条件的 WebElements 的集合,如果没有找到
则返回为空。
查询方法会将 By 实例作为参数传入。Selenium WebDriver 提供了 By 类来支持各种查询
策略。
下面的表格列出了各种 Selenium WebDriver 支持的定位策略。


策略语法描述By IDJava:
driver.findElement(By.id(<element ID>))
C#:
driver.FindElement(By.Id(<elementID>))
Python:
driver.find_element_by_id(<elementID>)
Ruby:
driver.find_element(:id,<elementID>)通过元素 ID 属
性定位元素By NameJava:
driver.findElement(By.name(<element name>))
C#:
driver.FindElement(By.Name(<element name>))
Python:
driver.find_element_by_name(<element name>)
Ruby:
driver.find_element(:name,<element name>)通过元素Name属性定位元素By class
nameJava:driver.findElement(By.className(<elemen
t class>))
C#:
driver.FindElement(By.ClassName(<elementcla
ss>))
Python:
driver.find_element_by_class_name(<elementc
lass>)
Ruby:
driver.find_element(:class,<element class>)通 过 元 素 class
name 属性定位元
素By tag
nameJava:
driver.findElement(By.tagName(<htmltagname>
))
C#:
driver.FindElement(By.TagName(<htmltagname>
))
Python:
driver.find_element_by_tag_name(<htmltagnam
e>)
Ruby:
driver.find_element(:tag_name,<htmltagname>通过 HTML 标记
名定位元素By link
textJava:
driver.findElement(By.linkText(<linktext>))
C#:
driver.FindElement(By.LinkText(<linktext >)
)
Python:
driver.find_element_by_link_text(<linktext
>)
Ruby:
driver.find_element(:link_text,< linktext >)通过文本定位链
接By partial
link textJava:
driver.findElement(By.partialLinkText(<link
text>))
C#:
driver.FindElement(By.PartialLinkText(<link
text >))
Python:
driver.find_element_by_partial_link_text(<l
inktext >)
Ruby:
driver.find_element(:partial_link_text,<lin
ktext >)通过部分文本定
位链接By CSSJava:
driver.findElement(By.cssSelector(<css
selector>))
 C#:
driver.FindElement(By.CssSelector(<cssselec
tor >))
Python:
driver.find_elements_by_css_selector (<css
selector>)
Ruby:
driver.find_element(:css,< css selector >)通过 CSS 定位元
素By XPathJava:
driver.findElement(By.xpath(<xpath query
expression>))
C#:
driver.FindElement(By.XPath(<xpath query
expression>))
Python:
driver.find_elements_by_xpath (<xpath query
expression>)
Ruby:
driver.find_element(:xpath,<xpath query
expression>)通过 XPath 定位
元素