效果如下:
运行程序
自动打开百度,自动输入网易云音乐,自动点击搜索按钮,实现搜索,效果如下:
python代码如下(具体步骤下面解释):
#导入模块
from selenium import webdriver
import time
#实例化Chrome浏览器对象
driver=webdriver.Chrome()
#准备url
url='http://www.baidu.com'
# 访问
driver.get(url)
#最大化窗口(默认不是最大化)
driver.maximize_window()
# 找到输入框 (kw后面会具体解释,还有下面具体的标签)
shuru=driver.find_element_by_id('kw')
# 在输入框中放我们制定的文字
shuru.send_keys('网易云音乐')
#为了我们肉眼可见,这里休眠2秒,再进行下面的操作
time.sleep(2)
# 找到百度一下按钮
sousuo=driver.find_element_by_id('su')
# 点击某个对象(点击百度一下)
sousuo.click()
time.sleep(2)
#找到网易云音乐
wangyi=driver.find_element_by_id('1').find_element_by_tag_name('a')
print(wangyi)
这是上面的wangyi输出结果
对于上面的kw、su、1、a 的解释如下:
学过网页的应该都知道(小程序开发好像也是这样),网页中的每个元素都不是凭空的,每个元素都有固定的id(id是唯一的),或者一个或多个姓名,用空格隔开,是可以相同重复的。具体如下:
首先我们先打开百度网页,在我们需要找到的搜索框处右击鼠标,点击检查
就会出现下面的代码,我们用鼠标在代码上移动,就会出现阴影部分,也就是这一块儿代码就是对输入框的控制。
我们可以看到输入框有自己的id
通过 driver.find_element_by_id(‘kw’),就可以准确定位到输入框
同理找百度一下按钮:
输入网易云音乐后,同理右击检查,发现这个上面没有自己的id,所以要向上寻找,看离这一级最近的一级的id(实在没有id也可以用class,只要class名字唯一,就能定位到)
寻找我们会发现上面的div的id=1,下面包含一个唯一的a标签
使用driver.find_element_by_id(‘1’).find_element_by_tag_name(‘a’),就可以准确定位到网易云音乐。
当然在实际操作中,也可以直接把url设置为网易云音乐的链接,这样就省去了前面的操作。