码迷,mamicode.com
首页 > 其他好文 > 详细

selenium学习记录

时间:2019-04-07 23:41:29      阅读:243      评论:0      收藏:0      [点我收藏+]

标签:ant   driver   方式   print   art   cto   节点   find   element   

1 声明浏览器对象

from selenium import webdriver

brower = webdriver.Chrome()
brower = webdriver.Firefox()
brower = webdriver.Edge()
brower = webdriver.PhantomJS()
brower = webdriver.Safari()

2 访问页面, 使用get方法访问页面

from selenium import webdriver

brower = webdriver.Chrome()
brower.get("http://www.baidu.com")
print(brower.page_source)
brower.close()

3 查找节点

from selenium import webdriver

brower = webdriver.Chrome()
brower.get("http://www.baidu.com")
inputById = brower.find_element_by_id("kw")
inputBySelector = brower.find_elements_by_css_selector("#kw")
inputByXpath = brower.find_element_by_xpath("//*[@id=‘kw‘]")
print(inputById, inputBySelector, inputByXpath)

以上分别使用id, css选择器, xpath方法获取节点, 结果如下, 是一致的

技术图片

4 获取节点

brower.find_element_by_id()
# 根据元素ID选择
brower.find_element_by_name()
# 根据元素name属性选择
brower.find_element_by_link_text()
# 根据元素中的文本部分选择
brower.find_element_by_partial_link_text()
# 类似上一个, 有点模糊查询的意思
brower.find_element_by_xpath()
# 根据xpath来选择元素
brower.find_element_by_tag_name()
# 根据元素名称选择
brower.find_element_by_class_name()
# 根据元素类名选择
brower.find_element_by_css_selector()
# css选择器,

此外,selenium提供了一个通用的方法, find_element(),它需要传入两个参数, 查找方式和值 

from selenium import webdriver
from selenium.webdriver.common.by import By

brower = webdriver.Chrome()
brower.get("http://www.baidu.com")
inputFirst = brower.find_element(By.ID, "kw")
inputSecond = brower.find_element_by_id("kw")
print(inputFirst == inputSecond)

可以看到, 以上两个方法完全是等值的,只不过使用起来会更加灵活

多个节点

如果要查找的元素在页面中存在多个, 那么使用find_element方法只能查询到第一个元素,这时就要使用find_elements()方法了, 与上面的方法相比仅仅是多了一个s, 查询结果为一个列表。列表中选择元素使用操作列表的方法来操作

5 操作元素(未完待续) 

 

selenium学习记录

标签:ant   driver   方式   print   art   cto   节点   find   element   

原文地址:https://www.cnblogs.com/sailfan/p/10667981.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!