https://www.jianshu.com/nb/49399448
本节内容简介
image.png
一、环境准备
01-安装selenium
pip install selenium -i http://pypi.douban.com/simple --trusted-host pypi.douban.com
02-下载浏览器驱动
不同的浏览器对应不同的webdriver,同一浏览器的不同版本也与webdriver版本一一对应,查找自己浏览器版本在网上下载相应的浏览器驱动.
下载网址:http://npm.taobao.org/mirrors/chromedriver/
二、Selenium简介
1)Selenium1:seleniumRC(相当于代理服务器),seleniumCore(控制浏览器行为的JS代码)
2)Selenium2:整合了seleniumRC,用webdriver来替代了他的功能
3)Selenium3: 升级了webdriver的实现,调用方式仍然和2相同,最新Selenium版本的核心是webdriver
image.png
三、第一个自动化脚本-访问并登录百度
思路:加载浏览器驱动-访问网址-定位元素-元素操作-获取数据
import time
# 加载浏览器驱动
driver = webdriver.Chrome("D:\\browserDriver")
# 访问网址
driver.get("https://www.baidu.com/")
# 设置全局的隐式等待
driver.implicitly_wait(10)
# 窗口最大化
driver.maximize_window()
# 点击登录按钮
driver.find_element_by_id("s-top-loginbtn").click()
time.sleep(2)
# 选择用户名登录
driver.find_element_by_css_selector("[title=\"用户名登录\"]").click()
# 输入用户名
driver.find_element_by_css_selector("[name=\"userName\"]").send_keys("18224084521")
# 输入密码
driver.find_element_by_css_selector("[name=\"password\"]").send_keys("this9527")
# 点击登录按钮
driver.find_element_by_css_selector(".pass-button").click()
# 定位元素
ele = driver.find_element_by_css_selector("[rel=\"search\"]")
# 获取title数据
title = ele.get_attribute("title")
# 退出浏览器
driver.quit()
注意:
①将driver的路径加入环境变量,加载驱动时可省略驱动路径
driver = webdriver.Chrome()
②导入第三方库的时候需要注意:项目的文件夹名称不能为selenium,否则无法导入webdriver。
③调用get方法会打开浏览器并访问到指定的网址,注意:http://不能漏写