1、安装谷歌浏览器
2、安装谷歌浏览器驱动
3、安装selenium包
4、测试
 
 
1、安装谷歌浏览器
 
2、安装谷歌浏览器驱动
 
检查自己的chrome浏览器版本,根据自己的浏览器版本选择对应的驱动版本,
下载之后解压之后,
Ubuntu中将驱动器文件拷贝到/usr/bin目录下
Windows中可以直接放在调用浏览器的*.py所在文件目录下
 
echo $PATH 查看环境变量
将驱动程序直接放到环境变量下
 
3、安装selenium包
用pycharm安装:
pip install selenium
安装后,
Windows中要设置webdriver.py路径的环境变量
D:\biancheng\work\crawler_py3_zzl\Lib\site-packages\selenium\webdriver\firefox
否则from selenium import webdriver找不到webdriver模块
 
4、测试
if __name__ == '__main__':
# 创建浏览器
driver = webdriver.Chrome()
# 请求url
url='https://www.baidu.com/s?wd=深圳';
driver.get(url)
# 保存快照
# driver.save_screenshot('baidu.png')
# 常用定位
el=driver.find_element_by_id('kw')
print(el.get_attribute('value'))

  

【selenium使用方法小结】:

# 小结:
# 1、调用环境变量指定的PhantomJS浏览器创建浏览器对象
driver = webdriver.Chrome(r'D:\xxx\chromedriver.exe') # 2、get方法请求页面,获取响应
url = "https://www.baidu.com/"
driver.get(url) # 3、打印标题
print(driver.title) # 4、打印登录页面的代码
html_str = driver.page_source
print(html_str)
# print(type(html_str))
# print(len(html_str)) # 5、根据xpath、id选择元素,并点击
baidu_click = driver.find_element_by_xpath("//div[@class='header_menu_item_body']/div[7]")
# baidu_click = driver.find_element_by_id("header_menu_item_body")
baidu_click.click() # 6、根据xpath、id选择元素,并填写内容
bd_searchbox = driver.find_element_by_xpath("//input[@class='input_username']")
bd_searchbox.send_keys(account) # 7、提取url
print(driver.find_element_by_xpath("//div[@class='title']/a/@href"))
# 8、提取文本
print(driver.find_element_by_xpath("//div[@class='title']/a/text"))

  

使用selenium的更多相关文章

  1. Python爬虫小白入门(四)PhatomJS+Selenium第一篇

    一.前言 在上一篇博文中,我们的爬虫面临着一个问题,在爬取Unsplash网站的时候,由于网站是下拉刷新,并没有分页.所以不能够通过页码获取页面的url来分别发送网络请求.我也尝试了其他方式,比如下拉 ...

  2. Selenium的PO模式(Page Object Model)[python版]

     Page Object Model 简称POM  普通的测试用例代码: .... #测试用例 def test_login_mail(self): driver = self.driver driv ...

  3. selenium元素定位篇

    Selenium webdriver是完全模拟用户在对浏览器进行操作,所有用户都是在页面进行的单击.双击.输入.滚动等操作,而webdriver也是一样,所以需要我们指定元素让webdriver进行单 ...

  4. selenium自动化基础知识

    什么是自动化测试? 自动化测试分为:功能自动化和性能自动化 功能自动化即使用计算机通过编码的方式来替代手工测试,完成一些重复性比较高的测试,解放测试人员的测试压力.同时,如果系统有不份模块更改后,只要 ...

  5. 幼儿园的 selenium

    from selenium import webdriver     *固定开头     b=webdriver.Firefox()              *打开火狐浏览器    browser. ...

  6. 使用selenium编写脚本常见问题(一)

    前提:我用selenium IDE录制脚本,我用java写的脚本,如果大家想看的清楚明白推荐java/Junit4/Webdriver 我用的是java/TestNG/remote control 1 ...

  7. 关于selenium RC的脚本开发

    第一.需要录制脚本,找个我也不说了.就是在firefox下下载一个selenium-IDE并且安装. 第二.在工具里找到selenium-IDE点击运行. 第三.默认是红色按钮点击状态的,接下来随便你 ...

  8. 基于python的selenium自动化测试环境安装

    1. Python2安装 官方网站:https://www.python.org/downloads/ (python3或新版本已经默认集成了pip包和path,安装的时候打勾就行,可以直接跳过下面第 ...

  9. Selenium+python 配置

    1. 安装python, www.python.org. 下载最新的python,应该是32位的.注意配置环境变量. 2. 安装PIP(pip是一个以Python计算机程序语言写成的软件包管理系统). ...

  10. selenium 使用action进行鼠标,键盘操作

    <!--test.html--> <html> <head> <title>Set Timeout</title> <script&g ...

随机推荐

  1. Adroid—— DVM

     Android DVM   Android 运行环境主要指的虚拟机技术——Dalvik.Android中的所有Java程序都是运行在Dalvik VM上的.Android上的每个程序都有自己的线程, ...

  2. 文件模式设置用户ID/设置组ID/sticky bit_转

    S_ISUID  (04000)  set-user-ID (set process effective user ID on execve(2))S_ISGID  (02000)  set-grou ...

  3. Linux解决删除文件后空间没有释放问题_端口占用问题

    使用命令 (1) losf | grep deleted 查询所有已经删除但是还未释放空间的进程,找到容量最大的线程,kill -9 pid 然后等待容量释放 (2) netstat -ano | g ...

  4. SQL里3个表的连接查询

    两种:1.select * from 表1,表2,表3 where 表1.字段=表2.字段 and 表1.字段=表3.字段这种效率比较低 结构简单数据量小可以采用2.select * from 表1 ...

  5. 解决cookie跨域访问.2

    v一.前言 随着项目模块越来越多,很多模块现在都是独立部署.模块之间的交流有时可能会通过cookie来完成.比如说门户和应用,分别部署在不同的机器或者web容器中,假如用户登陆之后会在浏览器客户端写入 ...

  6. ThinkPHP项目笔记之RBAC(权限)补充篇

    这里,主要补充的是配置以及相关代码问题. <?php return array( //'配置项'=>'配置值' 'RBAC_SUPERADMIN' => 'admin',//超级管理 ...

  7. uc 调试

    UC浏览器开发者版 目录[隐藏] 1 关于RI 2 准备工作 3 调试方式 相关下载 1 关于RI 目前,在手机上使用浏览器访问网页,无法便捷地进行网页语言调试.手机屏幕相对较小且操作不便,直接在手机 ...

  8. VC++ 创建自己的头文件包含GUID

     Guidgen 是比较好用的工具之一,可以使用它来创建ActiveX控件的UUID,同时可以创建独特的剪贴板格式名称和唯一的标识符的内核对象, 如信号量.互斥和事件. 但我需要为另一个目的创建一个唯 ...

  9. C++之类模板

    C++之类模板 代码如下:  C++ Code  123456789101112131415161718192021222324252627282930313233343536373839404142 ...

  10. 从头认识java-18.2 主要的线程机制(2)-Executors的使用

    在前面的章节我们都是直接对Thread进行管理,我们这里解释一下还有一个管理Thread的类Executors. 1.样例: package com.ray.ch17; import java.uti ...