元素定位
<!-- id -->
<input id="search" type="text" maxlength="10" />
<!-- class -->
<input class="btn-search" type="button" value="检索" />
<!-- name -->
<input name="language" type="checkbox" value="" />
<!-- tag -->
<h4>tag定位</h4>
<!-- xPath -->
<p>xPath定位</p>
<!-- link 根据a标签内容,进行完整匹配定位 -->
<a href="/tynam/test">Tynam</a>
<!-- Partial link 根据a标签内容,进行部分匹配定位 -->
<a href="/tynam/test">Partial link定位</a>
<button class="css">css定位</button>
# By定位
from selenium.webdriver.common.by import By
driver = webdriver.Chrome()
assert driver.find_element_by_id("search").get_attribute("maxlength") == 10
assert driver.find_element_by_class_name("btn-search").get_attribute("value") == "检索"
assert driver.find_element_by_name("language").get_attribute("type") == "checkbox"
assert driver.find_element_by_tag_name("h4").text == "tag定位"
assert driver.find_element_by_xpath("/html/body/div/p").text == "xPath定位"
assert driver.find_element_by_link_text("Tynam").get_attribute("href") == "http://localhost:63342/tynam/test"
assert driver.find_element_by_partial_link_text("link定位").text == "Partial link定位"
assert driver.find_element_by_css_selector("button.css").text == "css定位"
使用元素定位 api 定位元素后,需要进行断言来判断所找元素为目标元素
确认元素唯一
方式一
- 浏览器开发者工具,打开元素面板,ctrl+f,输入button.class
- 确认搜索结果唯一
方式二
- 浏览器开发者工具,打开console面板,
- 用下面api输出结果为1
- document.getElementById()
- document.getElementsByClassName()
- document.getElementsByName()
- document.getElementsByTagName()
- document.getSelection()
- document.querySelector()