美文网首页
Web自动化(3):网页自动搜索功能

Web自动化(3):网页自动搜索功能

作者: lxmic | 来源:发表于2020-03-30 07:32 被阅读0次
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_keysclick方法,分别对应着输入字符串和点击。结果就会出现搜索内容,总共的搜索结果。

#查找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()

相关文章

网友评论

      本文标题:Web自动化(3):网页自动搜索功能

      本文链接:https://www.haomeiwen.com/subject/djlyuhtx.html