python-selenum3 第六天——WebDriver 常用API(一)

  1. 获取元素基本信息

  2. 获取文本内容

  3. 判断是否可见

  4. 判断是否可操作

  5. 获取元素的属性

  6. 获取元素CSS的值

  7. 清空内容

  8. 输入内容

  9. 单机

  10. 双击




1. 获取元素基本信息

from selenium import webdriver

driver = webdriver.Firefox(executable_path = "d:\\geckodriver")
URL = "https://www.baidu.com"
driver.get(URL)
element = driver.find_element_by_xpath("//a[text() = '新闻']")
#获取查找到的"新闻"链接元素的基本信息
print(u"元素的标签名:",element.tag_name)
print(u"元素的size:",element.size)




2. 获取页面元素的文本内容

driver = webdriver.Firefox(executable_path="d:\\geckodriver")
driver.get("https://www.baidu.com")
element = driver.find_element_by_xpath("//*[@class='mnav'][1]")
text = element.text
print(text)
#下面的验证是unittest框架的断言,如果没有可以先注释掉
assertEqual(text,u"新闻")


3. 判断页面元素是否可见

driver = webdriver.Firefox(executable_path="d:\\geckodriver")
driver.get("https://www.baidu.com")
#定位其中一个元素
element = driver.find_element_by_id("su")
#判断是否可见,最终结果不是True就是False
print(element.is_displayed())




4.判断元素是否可操作

driver = webdriver.Firefox(executable_path="d:\\geckodriver")
driver.get("https://www.baidu.com")
#定位其中一个元素
element = driver.find_element_by_id("su")
#判断是否可操作,最终结果不是True就是False
#如果HTML中元素添加disabled属性将处于补课操作状态
print(element.is_enabled())




5.获取页面元素的属性

driver = webdriver.Firefox(executable_path="d:\\geckodriver")
driver.get("https://www.baidu.com")
#定位输入框元素
element = driver.find_element_by_id("kw")
#显示元素的name属性值,获取为wd
print(element.get_attribute("name"))
#输入内容
element.send_keys(u"python")
#获取输入的内容 获取为python
print(element.get_attribute("value"))




6.获取页面元素的CSS属性值

driver = webdriver.Firefox(executable_path="d:\\geckodriver")
driver.get("https://www.baidu.com")
#定位其中一个元素
element = driver.find_element_by_id("kw")
#使用value_of_css_property()获取css属性值 高22px 宽500px 
print(u"搜索框的高度:",element.value_of_css_property("height"))
print(u"搜索框的宽度:",element.value_of_css_property("width"))
#获取字体,字体为arial
ziti = element.value_of_css_property("font-family")
print(u"搜索框的字体是:",ziti)
#unittest断言
assertEqual(ziti,"arial")




7.清空输入的内容

driver = webdriver.Firefox(executable_path="d:\\geckodriver")
URL = "https://www.baidu.com"
driver.get(URL)
#输入
element = driver.find_element_by_id("kw")
element.send_keys(u"python")
#清空
element.clear()




8.输入

driver = webdriver.Firefox(executable_path="d:\\geckodriver")
URL = "https://www.baidu.com"
driver.get(URL)
#定位
element = driver.find_element_by_id("kw")
#清空原有内容
element.clear()
#输入新内容
element.send_keys(u"python")




9.点击

driver = webdriver.Firefox(executable_path="d:\\geckodriver")
URL = "https://www.baidu.com"
driver.get(URL)
#输入内容
input = driver.find_element_by_id("kw")
input.send_keys(u"输入python")
#点击
button = driver.find_element_by_id("su")
button.click()




10.双击

<!--练习的html-->
<html>
    <body>
        <input id='inputBox' type="text" ondblclick="javascript:this.style.background='red'">请双击</>
    </body>
</html>
driver = webdriver.Firefox(executable_path="d:\\geckodriver")
url = "file:///D:/test.html"
driver.get(url)
#获取输入元素
element = driver.find_element_by_id("inputBox")
#导入需要的操作包
from selenium.webdriver import ActionChains
#开始模拟鼠标双击操作
shuangji = ActionChains(driver)
shuangji.double_click(element).perform()


说明:ActionChains是鼠标操作的包,比如双击、悬浮、拖拽等

猜你喜欢

转载自blog.51cto.com/wiktk/2134320