栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

selenium和BeautifulSoup4学习笔记

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

selenium和BeautifulSoup4学习笔记

selenium最初是一个自动化测试工具,而爬虫中使用它主要是为了解决requests无法直接执行JavaScript代码的问题。本质是通过驱动浏览器完全模拟浏览器的操作。如:跳转、输入、单击、下拉框选择,来拿到网页渲染之后的结果,可支持多种浏览器。

coding = utf-8     #防止乱码
from selenium import webdriver    #导包,使用 selenium 的 webdriver 里的函数
import time #调入 time 函数
browser = webdriver.Chrome()     #操控谷歌浏览器,browser 可以随便取,但后面要用它操纵各种函数执行。
browser.get("http://www.baidu.com")  #跳转到百度页面
print driver.title # 把页面 title 打印出来
browser.implicitly_wait(30) #智能等待30秒
browser.maximize_window() #将浏览器最大化显示
browser.set_window_size(480, 800)  #设置浏览器的宽高,宽480、高800
browser.find_element_by_id("kw").send_keys("selenium")    #一个控件有若干属性 id 、name、(也可以用其它方式定位),百度输入框的 id 叫 kw ,我要在输入框里输入 selenium 。
#########百度输入框的定位方式##########
#通过 id 方式定位
browser.find_element_by_id("kw").send_keys("selenium")
#通过 name 方式定位
browser.find_element_by_name("wd").send_keys("selenium")
#通过 tag name 方式定位
browser.find_element_by_tag_name("input").send_keys("selenium")
#通过 class name 方式定位
browser.find_element_by_class_name("s_ipt").send_keys("selenium")
#通过 CSS 方式定位
browser.find_element_by_css_selector("#kw").send_keys("selenium")
#通过 xphan 方式定位
browser.find_element_by_xpath("//input[@id='kw']").send_keys("selenium")
#一般一个页面上不会出现相同的文件链接,通过文字链接link来定位也是一种简单有效的定位方式
browser.find_element_by_link_text("贴 吧").click()
#用链接的一部分文字进行匹配
browser.find_element_by_partial_link_text("贴").click()
browser.find_element_by_id("su").click()     #搜索的按钮的 id 叫 su ,我需要点一下按钮( click() )。
time.sleep(3) # 休眠3秒

browser.quit()     #退出并关闭窗口的每一个相关的驱动程序,有洁癖用这个。就是直接关闭浏览器
browser.close()    #关闭当前窗口(当前网页)

解决中文乱码问题
selenium2 python 在 send_keys()中输入中文一直报错,其实前面加个小 u 就解决了:
coding=utf-8
send_keys(u"输入中文")
需要注意的是 utf-8并不是万能的,我们需要保持脚本、浏览器、程序三者编码之
间的转换;如果 utf-8不能解决,可以尝试 GBK 或修改浏览器的默认编码。

#脚本要与 upload_file.html 同一目录
file_path = 'file:///' + os.path.abspath('upload_file.html')
driver.get(file_path)
#定位上传按钮,添加本地文件
driver.find_element_by_name("file").send_keys('D:\selenium_use_c
aseupload_file.txt')

Beautiful Soup4(简称bs4)库是一个在python爬虫设计中非常流行的数据分析提取库。将复杂html文档转换成一个复杂的树形结构,每个节点都是python对象,所有对象可以归纳为4种,Tag(标签)、NavigableString(可遍历字符串)、BeautifulSoup(bs对象)、Comment(注释内容)。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/938756.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号