unsplash.jpg

写在前面

如果我们需要在期刊中搜索我们想要找的文章,那么我们如何才能达到这个目的。我们首先看一下,手动和自动对比图:

网页搜索.png

其实内容全部一样,我们只是用自动化程序,来代替我们手动操作。

1. 创建webdriver驱动对象,驱动打开网页

# 导入包

from selenium import webdriver

# 创建驱动对象,调用get方法并打开网页

wd = webdriver.Chrome()

# get方法打开网址

wd.get('http://www.plantcell.org/](http://www.plantcell.org/)

')

2. 找到搜索框元素

我们根据元素的id来找到我们要操作的搜索框,在第上一篇文章中,已经介绍了如何准确定位到网页元素,可以看这篇文章Web自动化(2):自动获取Plant Cell上最新文章标题,我们找到了input标签,里面有很多属性让我们选择,我们通过id属性来定位这个元素。

代码:element = wd.find_element_by_id("edit-keywords--2")用来找到这个输入框元素。

找到的input元素

小技巧:我们可以通过command+F在网页源码中搜索这个属性,是否能够找到input元素。可以避免我们一次次通过代码来确定是否正确,节省时间。结果有两个id一样的,但是属于同一个搜索框的。找到的元素会显示高亮,且搜索框右边还有数量。

搜索结果

3. 输入文字和点击搜索

第二步找到元素,返回后是WebElement类型的对象,我们可以通过这个对象,对网页进行操作。调用相应的方法,比如send_keys和click方法,分别对应着输入字符串和点击。结果就会出现搜索内容,总共的搜索结果。

#查找cas9相关的文章,直接回车搜索

element.send_keys("cas9\n")

#或者找到搜索按钮元素,并进行点击操作

element.send_keys("cas9")

element1 = wd.find_element_by_id('edit-submit--2')

element1.click()

4. 完整的代码

from selenium import webdriver

wd = webdriver.Chrome()

wd.get('http://www.plantcell.org/')

element = wd.find_element_by_id("edit-keywords--2")

element.send_keys("cas9")

element1 = wd.find_element_by_id('edit-submit--2')

element1.click()

html中的搜索代码,Web自动化(3):网页自动搜索功能相关推荐

  1. 解决在 IntelliJ IDEA 中,输入代码时突然不会自动显示下拉框提示

    解决在 IntelliJ IDEA 中,输入代码时突然不会自动显示下拉框提示 笔者的运行环境: IntelliJ IDEA 2020.1.2 (Ultimate Edition) JDK 13.0.2 ...

  2. python抢票代码_Python自动化xpath实现自动抢票抢货

    小伙伴们,这次推文讲的是'xpath',掌握起来不难的哦.而且,熟悉了这套路,别说pubmed,任何你能在浏览器实现的操作,都基本能通过selenium自动化进行. 总代码: for i in ran ...

  3. 如何使用C#调用淘宝网页自动搜索,翻页和点击商品

    这一篇将说明如何使用C#和WPF浏览器控件来完成淘宝自动搜索,翻页,自动点击的操作 首先说明下,我在实现过程中使用的控件,一个是浏览器WebBrowser,一个是按钮Button,还有单选按钮Radi ...

  4. php中在网页中显示图片代码,用PHP将网页上的Canvas图像保存到服务器上的方法

    在几年前HTML5还没有流行的时候,我们的项目经理曾经向我提出这样一个需求:让项目评审专家们在评审结束时用笔在平板电脑上进行电子签名.这需要我们评审软件里提供这样一个功能:打开浏览器,登录,进入评审意 ...

  5. iframe标签中写html代码,Iframe嵌套HTML网页的用法?

    iframe嵌入网页的用法 iframe并不是很常用的,在标准的网页中非常少用.但是有朋友经常问到,下面我简单地介绍一下它的用法,你只要熟练掌握这些参数足矣. 也应该是框架的一种形式,它与不 ...

  6. 如何解决eclipse中修改后台代码ctrl+s时总是自动重启服务的问题

    修改后台代码点击保存总是自启动服务很是烦人,网上的帖子都没有我要的效果.而且都抠的不写清楚步骤.今天我整理出来我的方法希望对小伙伴们有用. 第一步,双击你的servers 第二步,点击左下角的modu ...

  7. html中的时间代码怎么写,html网页代码中的时间样式怎样设置

    form name=form input type=hidden type=text name=DaysToAdd size=4 value=0 onFocus=this.select() onMou ...

  8. python web自动化demo阿里巴巴自动向商家发送消息

    前两天帮人写了个脚本,自动向商家发送留言 import timefrom selenium import webdriver from selenium.webdriver.common.keys i ...

  9. Google在Android P中隐藏了真棒的按应用自动旋转功能

    Historically, when you turn your phone on its side, the screen rotates. To keep this from happening, ...

最新文章

  1. 1057 Stack
  2. [Java并发编程实战] 共享对象之可见性
  3. 解决Oracle jdbc驱动包maven下载失败问题
  4. L1、L2损失 和 L1、L2正则化
  5. 地质灾害防治条例释义的摘要
  6. day8 java的静态与实例
  7. jq判断是否为整数_五种js判断是否为整数(转)
  8. python numpy中对ndarry按照index(位置下标)增删改查
  9. 【杂文】【IDEA】IDEA项目设置为maven并运行
  10. Mac AI技术图像编辑软件:Luminar Neo
  11. 邮箱app哪个好用 手机邮件软件排行榜
  12. 英特尔首席工程师吴甘沙:一切弯路都是直路
  13. 宏观经济模型代码来源 :MMB库
  14. Nature:进化新方式?线粒体DNA会插入我们的基因组
  15. GO语言Comma-ok断言
  16. 求助 NVIDIA GeForce experience安装失败
  17. obsidian安装,主题设置,已经相关功能介绍
  18. 防控青光眼的3大武器
  19. 使用U盘或移动硬盘制作系统盘
  20. IT运维大咖带你玩转企业信息运维自动化

热门文章

  1. 建筑企业宣传片三大要素
  2. uniapp app端一键登录
  3. 7-1 圆形体体积计算器分数 20
  4. java计算机毕业设计企业运营管理系统的设计与实现源码+数据库+系统+lw文档+mybatis+运行部署
  5. 什么是数据科学家,数据科学家主要分为哪几类,具体是什么?
  6. 茄子快传数据分析之活跃用户和新增用户数据分析
  7. linux lvm分区教程,Linux LVM入门使用教程
  8. 抢抓数字经济机遇加快云南省数字化发展——云南省数字经济发展实践
  9. iOS6之后 NSAttributedString 的福利
  10. 单片机的工程建立模板