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. ...
最新文章
- 中国智能语音行业研究
- 北京高性能计算机应用中心,中国气象局高性能计算机系统资源使用报告-北京高性能计算机应用中心.PDF...
- sys.stdout sys.stderr的用法
- windows优化_windows系统优化教程——C盘清理及优化
- Php面试题之背人过桥,梦见背人过桥好不好?
- E-triples II_2019牛客暑期多校训练营(第四场)
- 飞鸽传书程序IT基础架构和应用的管理
- 了解自己计算机硬件设备信息
- 【Elasticsearch】es 新的 数据类型 search_as_you_type
- git reset简介
- 开网店,网店系统的编程语言分析
- Werkflow java_几大工作流引擎对比
- 荧光标记毛细管电泳应用---InDel标记筛选与验证
- cad零点坐标标注lisp_CAD_XY坐标标注AUTO_LISP程序
- javaScript -- touch事件详解(touchstart、touchmove和touchend)
- MySQL 数据库之实现热备份
- 微信支付-APP支付
- Django模型中的关系:一对一、一对多与多对多
- 【比特鹏哥C语言_1.初识C语言】
- 2020年8月试题分析-计算机网络原理