python3 selenium教程_2018年python3与selenium教程第1节
selenium 初体验
selenium自动获取百度搜索结果
源码:
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.wait import WebDriverWait
browser = webdriver.Chrome()
try:
browser.get('https://www.baidu.com')
input = browser.find_element_by_id('kw')
input.send_keys('Python爬虫')
input.send_keys(Keys.ENTER)
wait = WebDriverWait(browser, 10)
wait.until(EC.presence_of_all_elements_located((By.ID, 'content_left')))
print(browser.current_url)
print(browser.get_cookies())
print(browser.page_source)
finally:
browser.close()
自动调用浏览器
与此同时,终端会将获取到的结果都打印出来
声明浏览器
selenium支持多个浏览器,声明浏览器的方式如下:
源码:
from selenium import webdriver
browser = webdriver.Chrome() # 声明 chrome
browser = webdriver.Firefox() # 声明 Firefox
访问页面
源码:
from selenium import webdriver
browser = webdriver.Chrome() # 声明浏览器
browser.get('https://www.baidu.com') # 访问网页
print(browser.page_source) # 将源码打印到终端
browser.close() # 关闭浏览器
运行脚本,会看到程序自动打开浏览器访问百度,并将源码输出到了终端
查找节点
获取知乎的搜索框节点
搜索框
源码
源码:
from selenium import webdriver
browser = webdriver.Chrome() # 声明浏览器
browser.get('https://www.zhihu.com') # 访问网页
search_input = browser.find_element_by_id('Popover1-toggle') # 查找节点
print(search_input)
browser.close() # 关闭浏览器
结果
☁ crawler python3 test_selenium.py
通过pycharm,进入browser.find_element_by_id源码,可看到还有多种方式能获取节点
节点查找方法
多节点查找
多节点
源码:
from selenium import webdriver
browser = webdriver.Chrome() # 声明浏览器
browser.get('http://36kr.com/') # 访问网页
lis = browser.find_elements_by_class_name('radius') # 根据类名查找节点
print(lis)
browser.close() # 关闭浏览器
执行结果
节点交互
需求:打开百度首页,在搜索框输入“三体“,然后清空搜索框,再输入“球状闪电”,最后点击搜索按钮
相当于模拟用户的真实操作
百度搜索框
源码:
from selenium import webdriver
import time
browser = webdriver.Chrome() # 声明浏览器
browser.get('https://www.baidu.com') # 访问网页
search_input = browser.find_element_by_id('kw') # 获取搜索框
search_input.send_keys('三体') # 将文字填充到搜索框
time.sleep(2)
search_input.clear() # 清空搜索框
search_input.send_keys('球状闪电')
submit = browser.find_element_by_id('su') # 获取提交按钮
submit.click() # 点击提交按钮
time.sleep(2)
browser.close() # 关闭浏览器
节点交互
更多的节点交互请查看官方文档
python3 selenium教程_2018年python3与selenium教程第1节相关推荐
- python3打包exe运行没反应_python selenium运行,打包exe常见问题解决方法
selenium是一款优秀的自动化测试工具,支持的语言也非常广泛,其中以python语言最为高效简洁,本文以Python3.5.2为例. 首先需要安装selenium插件,命令行下pip instal ...
- win10系统,python3.8环境,chrome浏览器,selenium框架,实现腾讯视频自动登录
文章目录 环境 代码演示 总结 环境 win10系统,python3.8环境,chrome浏览器,selenium框架,实现腾讯视频自动登录 代码演示 from selenium import web ...
- (下)python3 selenium3 从框架实现代码学习selenium让你事半功倍
上一篇博文简要 在上一篇博文中已得知:使用 execute 向远程服务器发送请求会通过 webdriver 与浏览器交互,且发送已定义的命令常量可获得一些相关信息. 其中 execute 方法实现已经 ...
- (上)python3 selenium3 从框架实现代码学习selenium让你事半功倍
本文感谢以下文档或说明提供的参考. Selenium-Python中文文档 Selenium Documentation Webdriver 参考 如有错误欢迎在评论区指出,作者将即时更改. 环境说明 ...
- python3爬虫入门教程-总算懂得python3.4爬虫入门教程
Python是一款功能强大的脚本语言,具有丰富和强大的库,重要的是,它还具有很强的可读性,易用易学,非常适合编程初学者入门.以下是小编为你整理的python3.4爬虫入门教程 环境配置:下载Pytho ...
- Python使用Selenium WebDriver的入门介绍及安装教程
Selenium WebDriver 入门 一.什么是Selenium WebDriver 二.安装Selenium WebDriver 2.1 安装selenium类库 2.2 安装浏览器驱动 2. ...
- python3.8.1安装教程-Linux安装Python3.8.1的教程详解
本例以Linux上安装Pyhton3.8版本为例进行说明 1.依赖包安装 yum -y install zlib-devel bzip2-devel openssl-devel ncurses-dev ...
- python详细安装教程linux-Linux下python3.7.0安装教程
记录了Linux 安装python3.7.0的详细过程,供大家参考,具体内容如下 我这里使用的时centos7-mini,centos系统本身默认安装有python2.x,版本x根据不同版本系统有所不 ...
- python3.8提示pip_Linux下升级安装python3.8并配置pip及yum的教程
服务器的CentOS 7中自带的python版本是python-2.7.5,需要再安装一个python-3.8.1 一.查看版本 安装前查看一下是否已经安装过python,我这里自带了python2. ...
最新文章
- excel按季度分类汇总_Excel数据透视不会,分类汇总来帮忙,强的不是一点,学会它,错不了...
- HDOJ 1465 不容易系列之一 【错排公式 递推】
- 花了一天精选了20多篇好文,只为与你分享
- windows7 + vs2008 + oracle + iis7 客户端配置成功
- 把一个dataset的表放在另一个dataset里面_现在开始:用你的Mac训练和部署一个图像分类模型...
- camera---(3)双camera 生态链
- 腾讯视频发布互动视频技术标准 爱奇艺、B站等均已布局
- 【WPF】自定义GridLineDecorator给ListView画网格
- 双路CPU笔记本计算机,什么是双路cpu cpu双路什么意思 - 云骑士一键重装系统
- 腐蚀rust图纸怎么找_rust腐蚀建家图纸 | 手游网游页游攻略大全
- 蒲公英下载专用协议头ipa
- Java盲文数据库_汉语盲文首个“数据库”开建
- 《墨菲定律》读书笔记(下)
- C语言输出转置矩阵解题步骤,C语言实现矩阵转置
- win10 桌面(Windows 资源管理器)卡死的根本解决办法
- 盛元广通医院实验室设备预约管理系统
- excel单元格设置自动换行后导出显示不全原因
- matlab-行相加、列相加
- Scancode到Keycode的映射
- 苹果开发者平台-《测试证书》生成流程
热门文章
- 云里黑白第十回——win11、重装或者迁移系统到11代CPU你需要关注RAID IRST驱动
- 一文搞懂AVB的使用
- 亿赛通电子文档安全管理系统dataimport远程命令执行漏洞
- 表格的编辑插件 editable.js
- DataGridView和GridView控件的区别是
- Win2008nbsp;64位下.Net访问MDAC…
- Ti的C28x系列的DSP(28069)使用经验,I2C与EEPROM(AT24C256C)
- 【MP4格式转换成MP3教程】
- 开博尔智能android播放器C3,开博尔C3第9代不能进桌面的刷机方法
- 尤雨溪自述:打造Vue 3背后的故事