[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()


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM