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

下面是一个简单的实例

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

browser = webdriver.Chrome()
browser.get("http://www.python.org")
assert "Python" in browser.title
elem = browser.find_element_by_name("q")
elem.send_keys("pycon")
elem.send_keys(Keys.RETURN)
assert "No results found." not in browser.page_source
time.sleep(20)
browser.close()

分析该实例

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

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

from selenium import webdriverfrom 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是否包含”Python”

browser.get(http://www.python.org)
assert "Python" in browser.title

 

接着在搜索框中搜索关键字pycon.

1. 先找到搜索框

elem = browser.find_element_by_name("q")

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

elem.send_keys("pycon")

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

elem.send_keys(Keys.RETURN)

搜索需求提交后,判断是否有内容找到

assert "No results found." not in browser.page_source

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

browser.close()
时间: 2024-08-01 09:58:18

[Selenium] 从一个实例开始,访问Python网站并进行关键字搜索的相关文章

[Python爬虫] Selenium自动访问Firefox和Chrome并实现搜索截图

前两篇文章介绍了安装,此篇文章算是一个简单的进阶应用吧!它是在Windows下通过Selenium+Python实现自动访问Firefox和Chrome并实现搜索截图的功能.        [Python爬虫] 在Windows下安装PhantomJS和CasperJS及入门介绍(上)        [Python爬虫] 在Windows下安装PIP+Phantomjs+Selenium 自动访问Firefox 可以参照前文安装Selenium环境,目前Selenium这个用于Web应用程序测试

[Python爬虫] Windows下Selenium自动访问Firefox和Chrome并实现搜索截图

前两篇文章介绍了安装,此篇文章算是一个简单的进阶应用吧!它是在Windows下通过Selenium+Python实现自动访问Firefox和Chrome并实现搜索截图的功能. [Python爬虫] 在Windows下安装PhantomJS和CasperJS及入门介绍(上) [Python爬虫] 在Windows下安装PIP+Phantomjs+Selenium 自动访问Firefox 可以参照前文安装Selenium环境,目前Selenium这个用于Web应用程序测试的工具支持的浏览器包括IE.

Python -- 面向对象编程、类和实例、访问限制

面向对象编程 Object Oriented Programming,简称OOP,是一种程序设计思想.OOP把对象作为程序的基本单元,一个对象包含了数据和操作数据的函数. 面向过程的程序设计把计算机程序视为一系列的命令集合,即一组函数的顺序执行.为了简化程序设计,面向过程把函数继续切分为子函数,即把大块函数通过切割成小块函数来降低系统的复杂度. 而面向对象的程序设计把计算机程序视为一组对象的集合,而每个对象都可以接收其他对象发过来的消息,并处理这些消息,计算机程序的执行就是一系列消息在各个对象之

Kivy A to Z -- 如何从Python创建一个基于Binder的Service及如何从Java访问Python创建的Service

<Kivy A to Z -- 如何从python代码中直接访问Android的Service> 一文中讲到了如何从python访问java的service,这一篇再来讲下如何创建一个基于Binder的Python Service以及如何从Java代码中访问这个Python创建的Service. 先来看代码,再作下解释: 接<Kivy A to Z -- 如何从python代码中直接访问Android的Service>一文,我们在相关的文件中增加代码: binder_wrap.cp

一个下载后无法访问的网站解密

今天用仿站工具下载了一个比较不错的html5网站,但在本地就无法打开,打开的网页是个白板.检查元素发现没有body元素,本地代码明明有boby,浏览器中却没有,估计是js在捣鬼. 挨个注销引用的js,发现<script src="style/index.min.js"></script>被注销后,能显示一点网页内容. 分析这个js,先是整理格式,发现有一个注释// index.js以下的内容都是加密乱码,如下图: <script type="te

Python使用MySQL数据库的方法以及一个实例

使用环境:Windows+python3.4+MySQL5.5+Navicat 一.创建连接 1.准备工作,想要使用Python操作MySQL,首先需要安装MySQL-Python的包,在Python 3.x下,该包已经改名为MySQLClient.可以使用pip方式安装: pip install MySQLClient 或者下载包文件,进行安装也可以. 2.Python使用MySQL的流程: 3.启动MySQL服务器:以管理员身份启动“cmd”,输入命令:’net start mysql‘ P

每次打开新标签页,都会提示“无法访问此网站”。并自动跳转到一个地址

使用该版本的chrome后,每次打开新标签页,都会提示"无法访问此网站".并自动跳转到一个地址"http://www.google.com.hk/url?sa=p&hl=zh-CN&pref=hkredirect&pval=yes&q=http://www.google.com.hk/_/chrome/newtab-"说明问题是因为此处访问google使用的地址是http协议.解决方式如下:输入:chrome://net-intern

python selenium第一个WebDriver脚本

#coding=utf-8from selenium import webdriverimport timeimport osos.environ["webdriver.firefox.driver"]="C:\Program Files\Mozilla Firefox\firefox.exe" driver=webdriver.Firefox(executable_path='c:\\geckodriver')driver.get("http://www

用Python实现一个爬虫爬取ZINC网站进行生物信息学数据分析

最近接到实验室的导师交给我的一个任务,就是他们手头有很多smile表达式,格式类似这种:C(=C(c1ccccc1)c1ccccc1)c1ccccc1(这是生物信息学中表达小分子结构的一种常用表达式),他们需要对每个smile表达式在ZINC网站(生物信息学数据网站)上进行搜索,然后找到对应的ZINC号.小分子供应商.构象预测等信息.基本步骤如下: 点击查找之后网页就会跳转到详细信息,我们需要获取它的ZINC号.小分子供应商.构象预测.CAS号等信息,如下: 这一套流程要是靠人工手动完成的话有点