从入门到入土:Python爬虫学习|Selenium自动化模块学习|简单入门|轻松上手|自动操作浏览器进行处理|chrome|PART01

此博客仅用于记录个人学习进度,学识浅薄,若有错误观点欢迎评论区指出。欢迎各位前来交流。(部分材料来源网络,若有侵权,立即删除)
本人博客所有文章纯属学习之用,不涉及商业利益。不合适引用,自当删除!
若被用于非法行为,与我本人无关

Python爬虫学习|Selenium自动化模块学习part01|简单入门|轻松上手|自动操作浏览器进行处理

driver驱动器安装

  • 这儿下载对应版本的chromedriver
    从入门到入土:Python爬虫学习|Selenium自动化模块学习|简单入门|轻松上手|自动操作浏览器进行处理|chrome|PART01
  • 然后导入python目录下
    从入门到入土:Python爬虫学习|Selenium自动化模块学习|简单入门|轻松上手|自动操作浏览器进行处理|chrome|PART01

安装对应的selenium库

  • 直接在命令行使用pip进行安装
pip install selenium

从入门到入土:Python爬虫学习|Selenium自动化模块学习|简单入门|轻松上手|自动操作浏览器进行处理|chrome|PART01

说明

  • 使用如下语句查看webdriver手册

从入门到入土:Python爬虫学习|Selenium自动化模块学习|简单入门|轻松上手|自动操作浏览器进行处理|chrome|PART01

from selenium import webdriver

print(help(webdriver))

从入门到入土:Python爬虫学习|Selenium自动化模块学习|简单入门|轻松上手|自动操作浏览器进行处理|chrome|PART01

  • 可以看到支持大部分的浏览器操作
  • Selenium是用于跨不同浏览器和平台的Web应用程序。也就是使用Python脚本来操作Web应用程序,我们用于爬虫主要操作的是浏览器

案例测试01

从入门到入土:Python爬虫学习|Selenium自动化模块学习|简单入门|轻松上手|自动操作浏览器进行处理|chrome|PART01

from selenium import webdriver

driver = webdriver.Chrome()
url='http://www.baidu.com'
driver.get(url)
  • 效果:
  • 在运行后,脚本会打开浏览器并访问指定的url

从入门到入土:Python爬虫学习|Selenium自动化模块学习|简单入门|轻松上手|自动操作浏览器进行处理|chrome|PART01

  • 这是最简单的使用方法
  • 使用python脚本打开浏览器访问指定的url

获取页面内容

from selenium import webdriver
from bs4 import BeautifulSoup

driver = webdriver.Chrome()
url='https://blog.csdn.net/Q_U_A_R_T_E_R?spm=1000.2115.3001.5343'
driver.get(url)
html = driver.page_source
soup = BeautifulSoup(html,'lxml')
print(soup)

从入门到入土:Python爬虫学习|Selenium自动化模块学习|简单入门|轻松上手|自动操作浏览器进行处理|chrome|PART01
从入门到入土:Python爬虫学习|Selenium自动化模块学习|简单入门|轻松上手|自动操作浏览器进行处理|chrome|PART01

  • 到这里为止都没有出现任何不可替代性

表单填充

  • 既然说到了Python脚本操作浏览器
  • 那自然是可以进行表单填充,就是在定位到指定输入框之后进行
from selenium import webdriver

driver = webdriver.Chrome()
url='http://www.baidu.com'
driver.get(url)
driver.find_element_by_xpath('//*[@id="kw"]').clear()#清空搜索框
driver.find_element_by_xpath('//*[@id="kw"]').send_keys("你好")#输入搜索内容

从入门到入土:Python爬虫学习|Selenium自动化模块学习|简单入门|轻松上手|自动操作浏览器进行处理|chrome|PART01

定位方法

使用ID定位

 find_element_by_id()

使用name定位

find_element_by_name()

使用class定位

find_element_by_class_name()

使用tag定位

  • 在html中tag主要指的是功能类型
find_element_by_tag_name()

使用link定位

find_element_by_link_text()

使用partial_link定位

find_element_by_partial_link_text()

使用xpath定位

find_element_by_xpath()

使用css定位

find_element_by_css_selector()

获取

获取网页源码

html = driver.page_source
from selenium import webdriver
from bs4 import BeautifulSoup

driver = webdriver.Chrome()
url='https://blog.csdn.net/Q_U_A_R_T_E_R?spm=1000.2115.3001.5343'
driver.get(url)
html = driver.page_source

从入门到入土:Python爬虫学习|Selenium自动化模块学习|简单入门|轻松上手|自动操作浏览器进行处理|chrome|PART01

获取网页cookie


from selenium import webdriver
from bs4 import BeautifulSoup

driver = webdriver.Chrome()
url='https://blog.csdn.net/'
driver.get(url)
input()
time.sleep(3)
cookie=driver.get_cookies()
print(cookie)
cookies = {cookie['name']:cookie['value'] for cookie in cookie}
print(cookies)

从入门到入土:Python爬虫学习|Selenium自动化模块学习|简单入门|轻松上手|自动操作浏览器进行处理|chrome|PART01

  • 打开发现是没有登录的状态
  • 手动登录一下

从入门到入土:Python爬虫学习|Selenium自动化模块学习|简单入门|轻松上手|自动操作浏览器进行处理|chrome|PART01

  • 回到pycharm回车等待三秒

从入门到入土:Python爬虫学习|Selenium自动化模块学习|简单入门|轻松上手|自动操作浏览器进行处理|chrome|PART01

添加cookies

 cookie_dict = {
            'domain': '.damai.cn',
            'name': cookie.get('name'),
            'value': cookie.get('value'),
            "expires": '',
            'path': '/',
            'httpOnly': False,
            'HostOnly': False,
            'Secure': False
        }
    driver.add_cookie(cookie_dict)
    driver.refresh()  

获取当前URL

from selenium import webdriver
from bs4 import BeautifulSoup

driver = webdriver.Chrome()
url='https://blog.csdn.net/'
driver.get(url)
URL=driver.current_url
print(URL)

从入门到入土:Python爬虫学习|Selenium自动化模块学习|简单入门|轻松上手|自动操作浏览器进行处理|chrome|PART01

来一个百度搜索“你好,世界”

from selenium import webdriver
 
driver = webdriver.Chrome()
url='http://www.baidu.com'
driver.get(url)
driver.find_element_by_xpath('//*[@id="kw"]').clear()#清空搜索框
driver.find_element_by_xpath('//*[@id="kw"]').send_keys("你好,世界")#输入搜索内容
driver.find_element_by_xpath('//*[@id="su"]').click()#点击搜索键

从入门到入土:Python爬虫学习|Selenium自动化模块学习|简单入门|轻松上手|自动操作浏览器进行处理|chrome|PART01

end
selenium内容比较多可能会多写几篇博客学习

上一篇:Spark API 之 combineByKey(一)


下一篇:java学习_part01_java核心卷_day05_ArrayList