一、准备工作
1.安装selenium类库:2种方法可供选择
(1)提前条件是已经安装好了Python,直接进入cmd命令行,输入python -m pip install selenium指令,就可以自动安装selenium
(2)或者已经安装好了pip,直接进入cmd命令行,输入pip install selenium,就可以自动安装selenium
2.检查Selenium是否安装成功
使用命令”pip show selenium”可以看到当前系统中安装的版本信息
3.selenium是一个自动化测试工具,需要配合浏览器使用,如果用的是Chrome的话,就下载一个ChromeDriver,当然其他的浏览器,比如火狐的就安装对应的驱动就行。注意,要根据自己浏览器的版本来下载相应ChromeDriver。
ChromeDriver下载地址:http://chromedriver.storage.googleapis.com/index.html
4.下载好驱动后,将chromedriver.exe文件拖到python的Scrips目录下(确保python该路径已经添加到环境变量),检验是否安装成功,可在python里导入看是否会报错就行
二、selenium使用
1.导入库 from selenium import webdriver
# 申明Chrome浏览器对象
browser = webdriver.Chrome()
# get()方法请求网页
browser.get("https://www.jd.com")
执行以上代码后,将会自动弹出一个新窗口进入到京东网页首页下
2. 编程思路:模拟人工在京东网站里搜索框 搜索商品 华为手机过程:
(1)在搜索框输入关键字:华为手机,点击搜索按钮,加载数据完成
browser.get(self.url)
# 获取搜索框 id="key"
#input=browser.find_element_by_id("key")
input=wait.until(EC.presence_of_all_elements_located((By.CSS_SELECTOR,"#key")))
print("************input***************",input)
# 在输入框中写入要查询的信息
input[0].send_keys(keyword)
# 获取搜索按钮 #<button onclick="search('key');return false;" class="button cw-icon"><i></i>搜索</button>
#find_elements_by_class_name通过类名进行定位 <div id="search-2014">
# class . id #
search_button = wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR, "div.form > button")))
#search_button=browser.find_element_by_class_name('button')
# 点击查询按钮
search_button.click()
(2)拖动浏览器滚动条向下拖动进行浏览商品华为手机,一直到页面底边,当前页面的数据已经全部加载完成
# 模拟下滑到底部操作,将当前页面数据全部加载完成