1 声明浏览器对象

from selenium import webdriver

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

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

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。
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方法获取节点, 结果如下, 是一致的

 selenium学习记录 随笔

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 操作元素(未完待续) 

 

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄