python使用selenium控制浏览器进行爬虫

这里以谷歌浏览器为例,需要安装一下chromedriver,其他浏览器也有相对应的driver,chromedriver下载地址:https://googlechromelabs.github.io/chrome-for-testing/

然后是打开python环境安装一下依赖pip install selenium,验证一下控制浏览器是否成功

# -*- coding: utf-8 -*-
from selenium import webdriverdriverPath = r'D:\chromedriver-win64\chromedriver.exe'
driver = webdriver.Chrome(executable_path=driverPath)
url = 'http://www.baidu.com'
driver.get(url)

点击运行脚本可以看到以下页面就成功了。
在这里插入图片描述

爬虫的话需要使用到以下相关函数:

driver.find_element_by_class_name("class")      # 通过class属性值定位
driver.find_element_by_id("id")                 # 通过id值定位
driver.find_element_by_name("name")             # 通过属性名称定位
driver.find_element_by_css_selector("selector") # 通过css选择器定位,格式是(‘标签名[属性名=”属性值”]’)
driver.find_element_by_link_text("text")        # 通过超链接文本定位
driver.find_element_by_tag_name("tag")          # 通过标签定位
driver.find_element_by_xpath("path")            # 通过xpath路径定位

还有其他的输入操作send_keys和点击操作click()等等这些基本上满足浏览器的大部分操作需求

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/587621.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【低代码平台】10个开源免费Airtable 的替代方案

Airtable是一个易于使用的简单低代码平台,有助于团队协作管理复杂的数据表,并创建定制的工作流程。把它想象成一个类固醇上的云电子表格。 Airtable还简化了数据输入过程,连接和集成第三方服务和应用程序,并提供了许多数据导入/导…

毅速:3D打印技术传统模具行业影响深远

随着3D打印技术的不断发展和完善,一系列的优势使其在模具制造领域的应用越来越广泛,这一技术在模具行业的应用将为整个行业带来变革。 首先,3D打印技术将大幅提高模具制造的精度和效率。传统的模具制造过程中,由于加工设备的限制和…

gitee(码云)仓库内容更新,使用TortoiseGit同步本地仓库和远程仓库

前言: 网上有很多同步仓库教程,但都是git命令行操作。这篇使用TortoiseGit可视化操作同步本地仓库和远程仓库 克隆本地仓库,上传远程仓库,下载TortoiseGit可以看这篇使用gitee(码云)上传自己的代码&#xf…

Altium Designer20中遇到的问题和解决办法记录

最近二战考完研了,重新拾起之前学的一些项目,最近在优化以前话的四层PCB版的时候发现了在使用AD使碰到一些问题现在记录如下: 1.Altium Designer 中的 Clearance Constraint 错误如何修改 : 我遇到的报错如下:  这…

Vue模板编译

Vue模板编译 Vue生命周期中,在初始化阶段各项工作做完之后调用了vm.$mount方法,该方法的调用标志着初始化阶段的结束和进入下一个阶段,从官方文档给出的生命周期流程图中可以看到,下一个阶段就进入了模板编译阶段(created和befor…

2023年“中银杯”四川省职业院校技能大赛“云计算应用”赛项样题卷①

2023年“中银杯”四川省职业院校技能大赛“云计算应用”赛项(高职组) 样题(第1套) 目录 2023年“中银杯”四川省职业院校技能大赛“云计算应用”赛项(高职组) 样题(第1套) 模块一…

GitHub 一周热点汇总 第3期 (2023/12/24-12/30)

GitHub一周热点汇总第三期 (2023/12/24-12/30),梳理每周热门的GitHub项目,了解热点技术趋势,掌握前沿科技方向,发掘更多商机。元旦就要到了,提前祝大家新年快乐。 #1 StreamDiffusion 项目名称:StreamDiff…

Ubuntu 系统中安装和配置 clash

本博客参考 ubuntu下怎么安装clash-ghc? 和 对 clash 进行下载和配置,如有需要可自行点击链接查看原文。 下载 clash 打开终端(进入到 主目录/用户目录 ),通过命令下载 clash 文件并将其中命名为 clash: # 下载 cl…

50. Pow(x, n)(Leetcode) C++递归实现(超详细)

文章目录 前言一、题目分析二、算法原理1.递归分析2.递归实现 三、代码实现复杂度分析总结 前言 在本文章中,我们将要详细介绍一下Leetcode中第50题, Pow(x, n)的内容 一、题目分析 题目要求很简单:我们模拟实现一个pow函数。 二、算法原理…

32--网络编程

1.、网络编程概述 Java是 Internet 上的语言,它从语言级上提供了对网络应用程序的支持,程序员能够很容易开发常见的网络应用程序。 Java提供的网络类库,可以实现无痛的网络连接,联网的底层细节被隐藏在 Java 的本机安装系统里&a…

从仿写持久层框架到MyBatis核心源码阅读

接上篇手写持久层框架:https://blog.csdn.net/liwenyang1992/article/details/134884703 MyBatis源码 MyBatis架构原理&主要组件 MyBatis架构设计 MyBatis架构四层作用是什么呢? API接口层:提供API,增加、删除、修改、查询…

【SpringBoot】SwaggerKnif4j接口文档集成

[TOC] 序:接口文档 ​ 在开发过程中,接口文档是非常重要的一环,在 Spring Boot 中,我们可以通过集成第三方来实现接口文档的自动生成。 ​ 通过注解来描述接口,然后根据这些注解自动生成接口文档,它不仅…

81 使用DFS和BFS解机器人的运动范围

问题描述:地上有一个m行n列的方格,从坐标[0,0]到坐标[m-1,n-1].一个机器人从坐标[0,0]的格子开始移动,他每次可以向左、右、上、下移动一格(不能移动到方格外),也不能进入行坐标和列坐标的数位之和大于k的格子。 public int numB…

⑩①【缓存】Redis持久化 RDB + AOF

个人简介:Java领域新星创作者;阿里云技术博主、星级博主、专家博主;正在Java学习的路上摸爬滚打,记录学习的过程~ 个人主页:.29.的博客 学习社区:进去逛一逛~ ⑩①Redis持久化 RDB AOF Redis数据快照 - RD…

Channel 使用事项和注意细节

&#xff08;1&#xff09;channel 可以声明为只读&#xff0c;或者只写性质 &#xff08;2&#xff09;channel 只读和只写的最佳实践案例 在默认情况下&#xff0c;管道是双向管道&#xff0c;即可读可写。 var ch chan intfunc main() {//声明为只写管道var chan1 chan<…

R2 score

R2 score is a criteria for linear model. R 2 1 − S S E S S T R^2 1 - \frac{SSE}{SST} R21−SSTSSE​ where, S S E SSE SSE is the residual sum of squares S S E ∑ i 1 n ( y ^ i − y i ) 2 SSE \sum_{i1}^n (\hat y_i - y_i)^2 SSEi1∑n​(y^​i​−yi​)2 S…

【中小型企业网络实战案例 五】配置可靠性和负载分担

【中小型企业网络实战案例 三】配置DHCP动态分配地址-CSDN博客 【中小型企业网络实战案例 四】配置OSPF动态路由协议 【中小型企业网络实战案例 二】配置网络互连互通-CSDN博客 【中小型企业网络实战案例 一】规划、需求和基本配置_大小企业网络配置实例-CSDN博客 配置VRRP联…

跨境电商卖家一般用海外云手机做什么?

近些年&#xff0c;海外云手机在跨境电商领域已经逐渐流行开来&#xff0c;但是对于许多人来说海外云手机还是比较陌生&#xff0c;它有什么作用&#xff1f;它可以用于哪些场景&#xff1f;在本文中&#xff0c;我们将详细跨境电商卖家一般是怎样使用海外云手机的。 1. 海外网…

单片机的存储、堆栈与程序执行方式

一、单片机存储区域 如图所示位STM32F103ZET6的参数&#xff1a; 单片机的ROM&#xff08;内部FLASH&#xff09;&#xff1a;512KB&#xff0c;用来存放程序代码的空间。 单片机的RAM&#xff1a;64KB&#xff0c;一般都被分配为堆、栈、变量等的空间。 二、堆和栈的概念 …

Linux shell编程学习笔记38:history命令

目录 0 前言 1 history命令的功能、格式和退出状态1.1 history命令的功能1.2 history命令的格式1.3退出状态2 命令应用实例2.1 history&#xff1a;显示命令历史列表2.2 history -a&#xff1a;将当前会话的命令行历史追加到历史文件~/.bash_history中2.3 history -c&#xf…