- 下载chromedriver(使用谷歌浏览器,注意浏览器和驱动版本号)
- 将chromedriver复制到python目录
import time
# 导入selenium
from selenium import webdriver
# 实例化浏览器驱动对象(创建浏览器驱动对象)
driver = webdriver.Chrome() # 创建的是谷歌浏览器驱动对象 chrome后面有括号,而且第一个字母要大写
# driver = webdriver.Firefox() # 创建火狐浏览器驱动对象
# 打开百度网站
driver.get("http://www.baidu.com")
# 等待3s(代表业务操作)
time.sleep(3) # 通过快捷导包的方式导入time模块, 光标要在time后面再按alt+enter
# 退出浏览器驱动(释放系统资源)
driver.quit()
4. 运行打开百度
=========================================================================
定位页面元素方式
1.根据id
driver.find_element_by_id("userA").send_keys("admin") driver.find_element_by_id("passwordA").send_keys("123456")
2.根据classname
driver.find_element_by_class_name("telA").send_keys("17852222222") driver.find_element_by_class_name("emailA").send_keys("33322@163.com")
3.根据name
driver.find_element_by_name("userA").send_keys("admin") driver.find_element_by_name("passwordA").send_keys("123456")
4.根据文本
driver.find_element_by_link_text("新浪").click() # 主要是定位a标签 driver.find_element_by_partial_link_text("新浪").click() # 通过超链接的局部文本信息进行元素定位,主要是定位a标签
5.根据标签名,返回多个,用下标取具元素
elements = driver.find_elements_by_tag_name("input")
6.根据XPATH
driver.find_element_by_xpath("//p[@id='pa']/input").send_keys("admin1")
driver.find_element_by_xpath("//p[2]/input").send_keys("123456")
"//p[2]/input"表示第二个p标签下的input标签
7.根据cssselector
driver.find_element(By.CSS_SELECTOR, "[placeholder='请输入用户名']")
driver.find_element_by_css_selector(".telA").clear()
# .表示通过元素的class属性进行元素选择, class表示的class属性的其中一个属性值
=========================================================================
元素操作
- 点击操作 element.click() element表示的是元素对象
- 输入操作 element.send_keys("value") element表示的是元素对象, value表示的是要输入的内容
- 清除操作 element.clear() element表示的是元素对象. 将输入框里面的内容全部清除。
浏览器操作
- maximize_window() 最大化浏览器窗口 --> 模拟浏览器最大化按钮
- set_window_size(width, height) 设置浏览器窗口大小 --> 设置浏览器宽、高(像素点)
- set_window_position(x, y) 设置浏览器窗口位置 --> 设置浏览器位置
x,y是一个坐标点,通过此坐标点确定浏览器最左上角的位置,以此确定浏览器在屏幕上的位置。
x, y不能超过屏幕的分辨率大小
获取元素信息
- size 获取元素的大小 返回的是一个字典,里面包含 元素高度和宽度的值
- text 获取元素的文本内容
- get_attribute("attribute") 获取元素对应属性名称的属性值 , attribute表示的是属性名
- is_displayed() 判断元素是否可见 返回值为true或者false
- is_enabled() 判断元素是否可用,返回值为true或者false
- is_selected() 判断复选框或者单选框是否被选中,返回值为true或者false