selenium 对外提供的接口可以操作浏览器,然后让浏览器完成自动化的操作

什么是selenium?

  是python的一个第三方库, 对外提供的接口可以操作浏览器, 然后让浏览器完成自动化的操作

环境的安装:

  1.pip install selenium

  2.获取某一个浏览器的驱动程序(以谷歌浏览器为例)

    驱动程序安装包: 链接: https://pan.baidu.com/s/1x6ZOf-poIHYcOexdG9yDcA 提取码: c589 复制这段内容后打开百度网盘手机App,操作更方便哦

    谷歌浏览器驱动下载地址:http://chromedriver.storage.googleapis.com/index.html

    下载的驱动程序必须和浏览器的版本统一,大家可以根据https://www.cnblogs.com/wj12312/p/10108917.html版本映射表进行对应

代码介绍:

  导包:from selenium import webdriver

  创建浏览器对象,通过该对象可以操作浏览器: browser = webdriver.Chrome(r'驱动路径')

具体实现代码如下:

 1 from selenium import webdriver
 2 from time import sleep
 3 
 4 # 创建一个浏览器对象,将驱动程序加载到浏览器中
 5 chrome_obj = webdriver.Chrome(executable_path=r'C:\Users\13584\Desktop\驱动程序\chromedriver.exe')
 6 # 浏览器对象执行get方法相当于手动打开对应的url网址
 7 chrome_obj.get('https://www.baidu.com')
 8 sleep(2)
 9 # 使用开发者工具定位到要输入的文本框,拿到该标签的属性
10 input_text = chrome_obj.find_element_by_id('kw')
11 # 在文本框中录入关键字相当于手动输入关键字
12 input_text.send_keys('python')
13 sleep(2)
14 # 使用开发者工具定位到要输入的文本框,拿到该标签的属性
15 btn = chrome_obj.find_element_by_id('su')
16 # 相当于手动点击按钮
17 btn.click()
18 sleep(2)
19 # 这里可以进行别的代码,比如获取最终页面的源码数据
20 chrome_obj.quit()

 

 谷歌无头浏览器

  由于PhantomJs最近已经停止了更新和维护,所以推荐大家可以使用谷歌的无头浏览器,是一款无界面的谷歌浏览器。

代码如下:

  只需提前创建一个参数对象,用来控制chrome以无界面模式打开

 1 from selenium import webdriver
 2 from selenium.webdriver.chrome.options import Options
 3 from time import sleep
 4 
 5 # 创建一个参数对象,用来控制chrome以无界面模式打开
 6 nohead_chrome = Options()
 7 nohead_chrome.add_argument('--headless')
 8 nohead_chrome.add_argument('--disable-gpu')
 9 
10 # 驱动程序路径
11 path = r'C:\Users\13584\Desktop\驱动程序\chromedriver.exe'
12 
13 # 创建浏览器对象
14 browser = webdriver.Chrome(executable_path=path, chrome_options=nohead_chrome)
15 
16 url = 'https://www.baidu.com/'
17 browser.get(url)
18 sleep(3)
19 
20 browser.save_screenshot('baidu.png')
21 
22 browser.quit()
View Code

 

 

 

 

 

 

    

posted @ 2018-12-12 16:06  python杰  阅读(901)  评论(0编辑  收藏  举报