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. SHLVL--shell终端深度

    参考:How And Why You Would Use The $SHLVL Variable SHLVL代表shell打开的深度,进程第一次打开shell时$SHLVL=1,然后在此shell中再 ...

  2. alert的美化,并且随滚动条滚动

    onclick="sAlert('${vo.courseName}');" <script type="text/javascript" language ...

  3. Kivy: 用于NUI开发的跨平台Python框架

    http://top.jobbole.com/9915/ http://kivy.org/

  4. Git神器sourceTreesetup,让你的git效率迅速提升

    image.png 小编之前在简书和公众号发不过idea如何git clone,git add,创建分支,创建码云的操作idea和Webstorm上使用git和github,码云最近又找到一款git神 ...

  5. ThinkPHP种where的使用(_logic and _complex)的使用实例

    1.对于thinkphp中的 and ,or 等复合型的查询,我要正确的使用相关的方法. a.实例 b.实例

  6. hdu 2857:Mirror and Light(计算几何,点关于直线的对称点,求两线段交点坐标)

    Mirror and Light Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) ...

  7. DBA面试题及解答

    一:SQL tuning 类 1:列举几种表连接方式答:merge join,hash join,nested loop Hash join散列连接是CBO 做大数据集连接时的常用方式,优化器使用两个 ...

  8. JQuery------实现鼠标点击和滑动不同效果

    如图: 代码: html <ul class="price-brand-right"> @foreach (Brand item in ViewBag.Brand) { ...

  9. 第十四篇:Apriori 关联分析算法原理分析与代码实现

    前言 想必大家都听过数据挖掘领域那个经典的故事 - "啤酒与尿布" 的故事. 那么,具体是怎么从海量销售信息中挖掘出啤酒和尿布之间的关系呢? 这就是关联分析所要完成的任务了. 本文 ...

  10. mysql支持跨表删除多条记录

    在Mysql4.0之后,mysql开始支持跨表delete. Mysql可以在一个sql语句中同时删除多表记录,也可以根据多个表之间的关系来删除某一个表中的记录. 假定我们有两张表:Product表和 ...