Python爬虫之selenium(基础)

selenium最初是一个自动花测试工具,而爬虫中使用它主要是为了解决requests无法直接薅js加密的代码问题,也就是动态数据加载的网站

selenium本质是通过驱动浏览器,完全模拟浏览器的操作,比如跳转、输入、点击、下拉等,来拿到网页渲染之后的结果,可支持多种浏览器,我这里是用谷歌的

下载

Python爬虫之selenium(基础)_第1张图片

浏览器中也要下载webdriver

首先查看自己浏览器的版本

Python爬虫之selenium(基础)_第2张图片

接着到官网下载:CNPM Binaries Mirror

Python爬虫之selenium(基础)_第3张图片

Python爬虫之selenium(基础)_第4张图片

 然后解压,放在python安装路径的Script里面

如果不知道安装路径

在cmd里面输入

where python

 

测试

from selenium import webdriver

dirver = webdriver.Chrome() # 打开浏览器
gethtml = dirver.get('https://www.baidu.com')  # 打开网址



# gethtml.quit() 关闭浏览器

 Python爬虫之selenium(基础)_第5张图片

如果能打开浏览器的话就是安装成功了 

来看一下使用

Python爬虫之selenium(基础)_第6张图片

可以看到,搜索框在input那里,那么我们可以用xpath语法定位到这里

//*[@id="kw"]

Python爬虫之selenium(基础)_第7张图片

 搜索键也在一个input里面,xpath语法定位

//*[@id="su"]

那么,我们来测试一下

selenium import webdriver

dirver = webdriver.Chrome()
dirver.get('https://www.baidu.com')


dirver.find_element_by_xpath('//*[@id="kw"]').send_keys('冷巷') # 在搜索框输入  冷巷
dirver.find_element_by_xpath('//*[@id="su"]').click()   # 点击搜索键

Python爬虫之selenium(基础)_第8张图片

 
浏览器对象

dirver.get():地址栏输入url并确认

dirver.quit():关闭浏览器

dirver.close():关闭当前页

dirver.save_screenshot(xxx.png):屏幕截图

dirver.maximize_window():浏览器窗口最大化

dirver.page_source: HTML结构源码

print(dirver.page_source.find('asdadsa')):在html源码中查找某个字符串是否存在,如果失败(不存在),返回-1

dirver.page_source.find('字符串')

从源码中查找指定字符串,没有返回-1,常用于判断最后一页

单元素查找-返回值为节点对象

dirver.find_element_by_id('id属性值')
dirver.find_element_by_name('name属性值')
dirver.find_element_by_class_name('class属性值')
dirver.find_element_by_xpath('xpath表达式')
dirver.find_element_by_link_text('链接文本')
dirver.find_element_by_partial_link_text('部分链接文本')
dirver.find_element_by_tag_name('标记名称')
dirver.find_element_by_css_selector('css表达式')

节点对象常用属性及方法

node.send_keys(): 向文本框发送内容
node.click(): 点击
node.clear(): 清空文本
node.get_attribute('属性名'):获取节点属性值
node.text: 获取节点文本内容(包含子节点和后代节点)

你可能感兴趣的:(python,python,爬虫,selenium)