导入第三方库selenium。

import selenium
from selenium import webdriver

下载好对应的浏览器驱动:

edge:https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/

chrome:https://code.google.com/p/chromedriver/downloads/list

firefox:https://github.com/mozilla/geckodriver/releases/

IE:NuGet Gallery | Selenium.WebDriver.IEDriver 4.0.0

下载完是一个压缩文件夹,打开文件夹,里面有一个webmsedgedriver.exe文件,把这个文件复制到除C盘以外的一个盘里,然后再把该路径配置到此电脑的系统环境里去。

配置环境的路径为“此电脑—右击属性—关于—高级系统设置—高级—环境变量—系统变量—path

将msedgedriver.exe文件的路径配置进去,然后再点确定。

# 创建浏览器对象,我这里是edge浏览器,如果是你们是用的chrome浏览器的话,这里的edge要改成chrome,firefox也是如此,首字母要大写!!
driver = webdriver.Edge()
driver.get('https://www.taobao.com/?spm=a21bo.jianhua.201857.1.5af911d9NTiGPH')
# 网页最大化
driver.maximize_window()

在这里运行一下,发现driver = webdriver.Edge()出现报错。

hp, ht, pid, tid = _winapi.CreateProcess(executable, args,
FileNotFoundError: [WinError 2] 系统找不到指定的文件。During handling of the above exception, another exception occurred:Traceback (most recent call last):File "D:\learn\测试.py", line 4, in <module>driver = webdriver.Edge()File "D:\学习\pycharm 练习\learn\lib\site-packages\selenium\webdriver\edge\webdriver.py", line 62, in __init__super(WebDriver, self).__init__(DesiredCapabilities.EDGE['browserName'], "ms",File "D:\学习\pycharm 练习\learn\lib\site-packages\selenium\webdriver\chromium\webdriver.py", line 90, in __init__self.service.start()File "D:\学习\pycharm 练习\learn\lib\site-packages\selenium\webdriver\common\service.py", line 81, in startraise WebDriverException(
selenium.common.exceptions.WebDriverException: Message: 'msedgedriver' executable needs to be in PATH. Please download from https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/

这里说这个驱动需要在配置里,但是我一想我明明配置了路径,怎么还要配置呢,后来一查才知道,原来要把路径以对象的形式给到webdriver.Edge()这个方法里面去。

所以代码得改成这样。

#                        当然这里的edge也得改成自己的浏览器名称,小写就可以
from selenium.webdriver.edge.service import Service# 用Service()方法将路径给到变量s,这里用了正则表达式
s = Service(r'D:\msedgedriver.exe')
# 这里的service是Edge方法里的参数,具体用法可以用鼠标选中Edge,然后按住ctrl,再用鼠标左键点击,就会弹出相应的方法文件
driver = webdriver.Edge(service=s)
driver.get('https://www.taobao.com/?spm=a21bo.jianhua.201857.1.5af911d9NTiGPH')
# 网页最大化
driver.maximize_window()

然后再来运行代码,就会弹出淘宝网页,这里有个重点,代码和人来浏览网页的时候会出现不同情况:

1、如果是人来逛网页的话,在搜索里搜索,选中物品,一直到最后确定购买后,才会弹出登录用户账户的界面弹窗;

2、如果是代码去操控驱动执行浏览网页,则会再搜索栏里输入设定好的商品后,直接弹出登陆界面的弹窗。

我们先写好要搜索的内容代码。

这里还有一个内容:

一般是用find_element_by_xpath()的方法去获取网页元素,结果我的pycharm却在底下显示

# 这里要换用方法,在上面加一个from selenium.webdriver.common.by import By# 不推荐使用find_element_by_xpath(),请使用find_element()方法代替
find_element_by_* commands are deprecated. Please use find_element() instead # 也就是find_elemnet_by_xpath() == find_element(By.XAPTH, ‘要找的元素')

这里用了xpath方法去获取搜索框的网页元素,然后设置网页随机延迟1到3秒。

import randomdriver.find_element(By.XPATH, '//*[@id="J_TSearchForm"]/div[1]/button').click()
time.sleep(random.randint(1, 3))

再获取搜索按钮,也是设定随机延迟1到3秒。

selenium爬取笔记相关推荐

  1. 爬虫之selenium爬取斗鱼网站

    爬虫之selenium爬取斗鱼网站 示例代码: from selenium import webdriver import timeclass Douyu(object):def __init__(s ...

  2. Php使用selenium爬虫,selenium,python爬虫_使用selenium爬取网站时输出结果不正确,selenium,python爬虫 - phpStudy...

    使用selenium爬取网站时输出结果不正确 网站链接:http://www.ncbi.nlm.nih.gov/pubmed?term=(%222013%22%5BDate%20-%20Publica ...

  3. [Python3网络爬虫开发实战] 7-动态渲染页面爬取-4-使用Selenium爬取淘宝商品

    在前一章中,我们已经成功尝试分析Ajax来抓取相关数据,但是并不是所有页面都可以通过分析Ajax来完成抓取.比如,淘宝,它的整个页面数据确实也是通过Ajax获取的,但是这些Ajax接口参数比较复杂,可 ...

  4. 利用Selenium爬取淘宝商品信息

    文章来源:公众号-智能化IT系统. 一.  Selenium和PhantomJS介绍 Selenium是一个用于Web应用程序测试的工具,Selenium直接运行在浏览器中,就像真正的用户在操作一样. ...

  5. [python爬虫] selenium爬取局部动态刷新网站(URL始终固定)

    在爬取网站过程中,通常会遇到局部动态刷新情况,当你点击"下一页"或某一页时,它的数据就进行刷新,但其顶部的URL始终不变.这种局部动态刷新的网站,怎么爬取数据呢?某网站数据显示如下 ...

  6. [python爬虫] Selenium爬取内容并存储至MySQL数据库

    前面我通过一篇文章讲述了如何爬取CSDN的博客摘要等信息.通常,在使用Selenium爬虫爬取数据后,需要存储在TXT文本中,但是这是很难进行数据处理和数据分析的.这篇文章主要讲述通过Selenium ...

  7. python爬取网易云歌单_详解python selenium 爬取网易云音乐歌单名

    目标网站: 首先获取第一页的数据,这里关键要切换到iframe里 打印一下 获取剩下的页数,这里在点击下一页之前需要设置一个延迟,不然会报错. 结果: 一共37页,爬取完毕后关闭浏览器 完整代码: u ...

  8. layui获取input信息_python爬虫—用selenium爬取京东商品信息

    python爬虫--用selenium爬取京东商品信息 1.先附上效果图(我偷懒只爬了4页) 2.京东的网址https://www.jd.com/ 3.我这里是不加载图片,加快爬取速度,也可以用Hea ...

  9. Python之网络爬虫(selenium爬取动态网页、爬虫案例分析、哈希算法与RSA加密)

    文章目录 一.selenium爬取动态网页 二.爬虫案例分析 三.哈希hash算法与RSA加密 一.selenium爬取动态网页 1.动态网页认知 爬虫其实就是在模仿浏览器的行为 应对要多次数据的交互 ...

最新文章

  1. magento php 所需模块,Magento 博客
  2. Python基础day01【软件安装、变量的定义和使用、数据类型、标识符和关键字、输入输出、数据类型转换、运算符、PEP 8 规范】
  3. Eclipse中如何修改SVN的地址
  4. php openssl加密数据长度,PHP使用openssl解密数据(用mcrypt加密)
  5. 信息学奥赛一本通 2021:【例4.6】最大公约数
  6. BeginnersBook MongoDB 教程
  7. 质量故事(3)---袋鼠与笼子
  8. cut、tr、wc、sort4
  9. 网络蜘蛛Spider简介
  10. arduino环境下用ESP32连接PS2手柄
  11. Python渗透测试之流量分析:流量嗅探工具编程
  12. GoogleChrome最新的代理设置流程
  13. rda分析怎么做_PCA、PCoA、NMDS 、RDA和CCA等排序分析方法
  14. Cortex-M0和Cortex-M0+的异常类型
  15. vue面试五之vue修饰符中 .lazy 等用法、Vue v2.4中新增的$attrs及$listeners属性的使用、v-once 的使用场景、vue组件里的定时器该如何销毁、vue海量数据优化等
  16. 报刊订阅管理系统(数据库课程设计)
  17. 皮德常《c++程序设计教程》第一章第二题:编写一个程序,要求用户输入一年12个月每月的降雨总数,并用一个float数组存储。
  18. 小米商城项目api接口编写日志
  19. 华为服务器批量系统软件,华为云ECS批量管理工具
  20. 【入门数据分析】淘宝用户行为分析

热门文章

  1. Unity XR开发之入门介绍(一)
  2. Mega RAID卡创建步骤
  3. Z04 - 999、Flink与电商指标分析
  4. JAVA入门-024(int的正负数)
  5. 几款好用的微信开发ui库
  6. Android 服务动态发现 SPA 之 Auto Service
  7. 解决Android Studio连接不上逍遥模拟器的问题
  8. SQL 行转列 列转行 Oracle转置函数函数pivot、unpivot 解决wm_concat 没有排序
  9. 永不停歇(obama在亚利桑那州治大学毕业典礼上的演讲)
  10. glob.glob() 函数的使用方法,超级详细