一 selenium简介
1.1 selenium特点
- 开源,免费
- 多浏览器支持:firefox、chrome、IE
- 多平台支持:linux 、windows、MAC
- 多语言支持:java、python、ruby、php、C#、
- 对web页面有良好的支持
- 简单(API 简单)、灵活(用开发语言驱动)
- 支持分布式测试用例执行
1.2 selenium家谱
selenium 1.0 selenium 2.0 = selenium1.0 + WebDriver
二 selenium环境搭建
- 下载安装 python
- 下载 pip
- 下载 selenium
三 selenium八大元素定位
3.1 find_element_by_name()
<input id="kw" name="wd" class="s_ipt" value="" maxlength="255" autocomplete="off">
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("http://www.baidu.com")
driver.find_element_by_name("wd").send_keys("Selenium八大元素定位")
3.2 find_element_by_id()
<input type="submit" id="su" value="百度一下" class="bg s_btn">
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("http://www.baidu.com")
driver.find_element_by_id("su").click()
3.3 find_element_by_xpath()
- 绝对路劲定位
可以使用自带的copy xpath 进行定位 不推荐使用这种方法进行元素定位,后续开发修改代码路径发生变化就需要重新进行定位
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("http://www.baidu.com")
driver.find_element_by_name("wd").send_keys("Selenium八大元素定位")
driver.find_element_by_id("su").click()
driver.find_element_by_xpath('//*[@id="2"]/h3/a').click()
2.利用元素属性进行xpath定位
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("http://www.baidu.com")
driver.find_element_by_name("wd").send_keys("Selenium八大元素定位")
driver.find_element_by_id("su").click()
driver.find_element_by_xpath('//a[@href="https://www.baidu.com/link?url=whqbCegRZQsSTccYyuTdx3JumdN0qSFUFOo_xM_ESykWekftGjVFXAq55MMqjvQL0NG7iI1l6irIW_vdPN7h-K&wd=&eqid=d07979d2000631b10000000661443a3f"]').click()
3.4 find_element_by_class_name()
<input id="kw" name="wd" class="s_ipt" value="" maxlength="255" autocomplete="off">
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("http://www.baidu.com")
driver.find_element_by_class_name("s_ipt").send_keys("Selenium八大元素定位")
3.5 find_element_by_tag_name()
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("http://www.baidu.com")
driver.find_element_by_tag_name("input")
3.6 find_element_by_link_text()
<a href="http://news.baidu.com" target="_blank" class="mnav c-font-normal c-color-t">新闻</a>
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("http://www.baidu.com")
driver.find_element_by_link_text("新闻").click()
3.7 find_element_by_partial_link_text()
<a href="http://news.baidu.com" target="_blank" class="mnav c-font-normal c-color-t">新闻</a>
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("http://www.baidu.com")
driver.find_element_by_partial_link_text("新").click()
3.8 find_element_by_css_selector()
<input id="kw" name="wd" class="s_ipt" value="" maxlength="255" autocomplete="off">
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("http://www.baidu.com")
driver.find_element_by_css_selector('input[name="wd"]').send_keys("Selenium八大元素定位")
|