Python-爬虫、自动化(selenium,动态网页翻页,模拟搜索,下拉列表选择、selenium行为链)

这篇具有很好参考价值的文章主要介绍了Python-爬虫、自动化(selenium,动态网页翻页,模拟搜索,下拉列表选择、selenium行为链)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

selenium是一个Web自动化测试工具,可以直接运行在浏览器上·支持所有主流的浏览器.可以根据我们的指令,让浏览器自动加载页面,获取需要的数据,基础页面截图等。

使用pip install selenium命令下载selenium模块。

运行下列代码:

from selenium import webdriver

driver = webdriver.Chrome()

python selenium 翻页,# 爬虫,python,爬虫,自动化
说明没有下载对应浏览器的驱动,这里使用谷歌浏览器

注意:
需要根据浏览器版本下载对应插件。
插件下载地址
python selenium 翻页,# 爬虫,python,爬虫,自动化
python selenium 翻页,# 爬虫,python,爬虫,自动化
如果没有对应版本,直接选择最近版本的插件下载即可,这里选择.52版本即可
python selenium 翻页,# 爬虫,python,爬虫,自动化
下载对应平台即可。

下载好后,解压,把可执行程序放到项目同级目录下,或者可以在函数webdriver.Chrome()上传递这个插件路径driver = webdriver.Chrome(executable_path=r"F:\chrome\chromedriver.exe")(可能会因方法弃用爆红字,忽略即可)
python selenium 翻页,# 爬虫,python,爬虫,自动化
重新运行代码可以发现不报错了。
python selenium 翻页,# 爬虫,python,爬虫,自动化

1. selenium练习

selenium有很多种定位方式,如下表
python selenium 翻页,# 爬虫,python,爬虫,自动化

自动搜索

import time

from selenium import webdriver
from selenium.webdriver.common.by import By

driver = webdriver.Chrome()

driver.get("https://www.baidu.com/")

# 通过xpath找百度网页搜索框
search = driver.find_element(By.XPATH, '//*[@id="kw"]')
search.send_keys('笔记本')

time.sleep(5)

# 通过id找搜索按钮
submit = driver.find_element(By.ID, 'su')
submit.click()

time.sleep(5)

driver.close()

python selenium 翻页,# 爬虫,python,爬虫,自动化


网页下拉框选择测试

网页下拉框:
python selenium 翻页,# 爬虫,python,爬虫,自动化
python selenium 翻页,# 爬虫,python,爬虫,自动化

通过导入from selenium.webdriver.support.ui import Select来实现下拉框的选择
从selenium.webdriver.Support.ui导入选择

Select().select_by_index()索引获取
Select().select_by_value() value获取
Select().deselect_by_visible_text()文本获取
import time

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import Select

driver = webdriver.Chrome()
driver.get("https://kyfw.12306.cn/otn/regist/init")

index = driver.find_element(By.ID, 'cardType')

select = Select(index)

# 通过下标选择,列表是从0号下标开始
select.select_by_index(3)

time.sleep(5)

driver.close()

python selenium 翻页,# 爬虫,python,爬虫,自动化

动态页面翻页

from selenium import webdriver
import time

driver = webdriver.Chrome()

driver.get('https://www.duitang.com/search/?kw=%E7%BE%8E%E5%A5%B3&type=feed')

for i in range(1, 200, 5):  # 实现网页下拉
    js = 'window.scrollTo(0,%s)' % (i * 100)
    driver.execute_script(js)
    time.sleep(0.3)

print(driver.page_source)

input()
# 关闭页面
driver.close()

python selenium 翻页,# 爬虫,python,爬虫,自动化
通过selenium可以直接获取到数据。

2. selenium行为链

为了更好的让selenium模拟人的行为,所以引出了 selenium行为链

这里以搜索行为链为例学习:from selenium.webdriver.common. action_chains import ActionChains导入selenium行为链模块

基本操作为:

action = ActionChains(driver)  # 在driver创建行为链对象
inp = driver.find_element(By.ID, 'kw')  # 获取到输入框位置
action.move_to_element(inp)  # 把鼠标移动到输入框
action.send_keys_to_element(inp, '百度贴吧')  # 模拟输入,函数中自动包括点击搜索框行为

btn = driver.find_element(By.ID, 'su')  # 获取搜索按钮
action.move_to_element(btn)  # 移动鼠标到搜索按钮
action.click(btn)  # 模拟点击
action.perform()  # 执行行为
from selenium.webdriver.common.action_chains import ActionChains
from selenium import webdriver
from selenium.webdriver.common.by import By

driver = webdriver.Chrome()
driver.get("https://www.baidu.com/")

# 通过xpath找百度网页搜索框
search = driver.find_element(By.XPATH, '//*[@id="kw"]')
# 通过id找搜索按钮
submit = driver.find_element(By.ID, 'su')

action = ActionChains(driver)
action.move_to_element(search)
action.send_keys_to_element(search, 'python')
action.move_to_element(submit)
action.click(submit)
action.perform()

input()

driver.close()

python selenium 翻页,# 爬虫,python,爬虫,自动化文章来源地址https://www.toymoban.com/news/detail-790321.html

到了这里,关于Python-爬虫、自动化(selenium,动态网页翻页,模拟搜索,下拉列表选择、selenium行为链)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Python爬虫之自动化测试Selenium#7

    在前一章中,我们了解了 Ajax 的分析和抓取方式,这其实也是 JavaScript 动态渲染的页面的一种情形,通过直接分析 Ajax,我们仍然可以借助 requests 或 urllib 来实现数据爬取。 不过 JavaScript 动态渲染的页面不止 Ajax 这一种。比如中国青年网(详见 国内_新闻频道_中国青年网),

    2024年02月20日
    浏览(43)
  • python脚本——selenium自动化执行一些网页上的操作

    通过python的selenium模块,自动化执行一些网页上的重复的无聊的工作。 chromdriver下载地址

    2024年02月13日
    浏览(59)
  • Python+VS Code+Selenium+EdgeDriver实现网页自动化

    一:安装Selenium 这里用 pip 安装Selenium 3.3.1 1,打开 CMD ,输入 pip install selenium==3.3.1 2,出现 Successfully Install 后关闭窗口( 我是卸载后安装,第一次安装的界面与此不同 )  3,使用pip show selenium 可以查看版本 注意:非必要不安装4.0及以上版本,新版本调用Pack时语法发生改动

    2024年01月19日
    浏览(56)
  • Python爬虫实战——Lazada商品数据(selenium自动化爬虫,xpath定位)

            在此说明,这个项目是我第一次真正去爬的一个网站,里面写的代码我自己都看不下去,但是已经不想花时间去重构了,所以看个乐呵就好,要喷也可以(下手轻一点)。这篇文算是记录我的学习中出现的一些问题,不建议拿来学习和真拿我的代码去爬Lazada的数据,

    2024年02月02日
    浏览(64)
  • Python爬虫技术之Selenium自动化测试及模拟点击页面爬虫最全知识

    Selenium是一套Web网站的程序自动化操作解决方案(比如点击界面按钮,在文本框中输入文字等操作) Selenium的自动化原理如下 3.1 下载selenium库的命令 3.2 下载谷歌浏览器Chrome对应的驱动 驱动库网址:http://chromedriver.storage.googleapis.com/index.html 注意:根据自己的Chrome版本进行选择

    2024年01月16日
    浏览(75)
  • Python爬虫技术系列-06selenium完成自动化测试V01

    使用selenium库完成动点击下一页,点击视频操作等过程, 如果你非要说这是XX,那我也不过多辩解,毕竟 批评不自由,赞美无意义 。 本案例仅是技术演示,所以会隐去相关网址等,读者可以重点查看这里使用的selenium技术点即可。另外本版本为V01版本,所以仅仅是可用,很多

    2024年02月05日
    浏览(52)
  • 爬虫实战(一)Python+selenium自动化获取数据存储到Mysql中

      行话说得好,“爬虫学得好,牢饭吃到饱!”哈哈博主是因这句话入的坑,不为别的就为邀大家一起铁窗泪(bushi),本人虽小牛一只,但是喜爱捣鼓技术,有兴趣的小伙伴们可以共同探讨,也欢迎各位大佬们的指点,愿共同进步!   这次计划是翻墙爬取外网某网站

    2024年01月17日
    浏览(48)
  • 从零开始学习Python控制开源Selenium库自动化浏览器操作,实现爬虫,自动化测试等功能(一)

    介绍Selenium : Selenium是一个用于自动化浏览器操作的开源工具和库。它最初是为Web应用测试而创建的,但随着时间的推移,它被广泛用于Web数据抓取和网页自动化操作。Selenium 支持多种编程语言,包括Python,Java,C#等。 这里我们主要实现采用Python的方式 Selenium 的主要特点和

    2024年01月22日
    浏览(77)
  • 爬虫 — 自动化爬虫 Selenium

    用 Selenium 爬取网页时,当前访问的 url 就是爬虫当中的目标 url,获取内容只要是页面上可见的,都可以爬取( 可见即可爬 )。 步骤 Selenium + 浏览器 + 浏览器驱动 1、导入 2、url(找动态 url,抓取到的数据是加密的) 3、获取内容,做解析 Selenium 是一个用于 Web 应用 程序测试

    2024年02月07日
    浏览(51)
  • 爬虫-9-selenium自动化

    #所谓自动化,就是模拟人。去操作... #自动化需要浏览器驱动器,那么这个浏览器需要停止一下自动更新(减少麻烦)。 #以下都以谷歌浏览器为例。 #谷歌浏览器禁止更新详见: https://blog.csdn.net/weixin_48337566/article/details/123242827      

    2024年01月19日
    浏览(60)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包