[Selenium] 从一个实例开始,访问Baidu并进行关键字搜索

下面是一个简单的实例

#coding:utf-8

import time
from selenium import webdriver
from selenium.webdriver.common.keys import Keys

browser = webdriver.Chrome()
browser.get('http://www.baidu.com')
assert "百度" in browser.title
elem = browser.find_element_by_id("kw")
elem.send_keys("今日热点")
elem.send_keys(Keys.RETURN)

time.sleep(20)
browser.close()

分析该实例

由于该编码涉及中文,因此在前端声明解码个税为utf-8

#coding:utf-8

 

selenium.webdriver模块提供了一个webdriver的实现, 目前可以支持Firefox, Chrome, IE 和Remote。

Keys模块提供了一些键盘操作,如 Return, F1, ALT 等等

from selenium import webdriver
from selenium.webdriver.common.keys import Keys

 

接着,创建一个浏览器实例Chrome

browser = webdriver.Chrome()

如果创建IE,可以采用以下方式

browser = webdriver.Ie()

当你第一次运行,可能出现错误提示

selenium.common.exceptions.WebDriverException: Message: IEDriver executable needs to be available in the path.

是因为执行这些实例需要添加相应的driver

 

然后通过get函数访问url。这里需要声明的是get函数会等待页面安全加载以后,才会将控制权交回python 脚本, 否则一直等待。

当页面加载完成后,判断该网页的title是否包含 “百度”

browser.get('http://www.baidu.com')
assert "百度" in browser.title
 
 

 

打开百度后,研究百度的编码,这里可以用Chrome按F12键进行源码分析

1

 

1. 从源码分析可知,搜索框输入表格的id为kw

elem = browser.find_element_by_id("kw")

2. 像搜索框中发送关键字

elem.send_keys("今日热点")

3. 模拟键盘Enter键提交搜索需求

elem.send_keys(Keys.RETURN)

 

最后等待20秒后,关闭浏览器

browser.close()

转载于:https://www.cnblogs.com/orangeseason/p/4627765.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值