selenium快速学习

Selenium是一个Web的自动化测试工具,最初是为网站自动化测试而开发的,类型像我们玩游戏用的按键精灵,可以按指定的命令自动操作,不同是Selenium 可以直接运行在浏览器上,它支持所有主流的浏览器(包括PhantomJS这些无界面的浏览器)。

Selenium 可以根据我们的指令,让浏览器自动加载页面,获取需要的数据,甚至页面截屏,或者判断网站上某些动作是否发生。

Selenium 自己不带浏览器,不支持浏览器的功能,它需要与第三方浏览器结合在一起才能使用。但是我们有时候需要让它内嵌在代码中运行,所以我们可以用一个叫 PhantomJS 的工具代替真实的浏览器。

目前,selenium不再支持phantomjs,虽然还可以用,但还是推荐使用firefox或chrome的无头浏览器配合selenium。

学习环境

python3.6+selenium+firefox

selenium要使用firefox或谷歌浏览器需要使用geckodriver的驱动,贴上百度网盘下载
链接: https://pan.baidu.com/s/1FbaBzz3llsP56tdxT0Ye9Q 提取码: t4w7
下载解压后在环境变量path中添加geckdriver的安装路径

基本使用

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.wait import WebDriverWait

browser = webdriver.Firefox()  # 通过web驱动声明浏览器对象
try:       # 捕捉异常
    browser.get('https://www.baidu.com')   # 请求的url 
    inputs = browser.find_element_by_id('kw') # kw是百度的搜索框的id
    inputs.send_keys('Python') # 向上面得到的输入框对象发送字符串Python
    inputs.send_keys(Keys.ENTER)  # 发送回车键
    wait = WebDriverWait(browser, 10) # 让驱动等待
    wait.until(EC.presence_of_element_located((By.ID, 'content_left')))  # 驱动在上一句设置的10秒内默认每0.5秒调用 一次括号中的方法。
    # 输出url,cookie,和页面源代码
    print(browser.current_url)
    print(browser.get_cookies())
    print(browser.page_source)
finally: # 关闭驱动
    browser.close()

声明浏览器对象

from selenium import webdriver
# 环境变量设置好geckdriver的路径之后,可以如下声明各浏览器对象,否则就需要在方法内添加executable_path参数,值为geckdriver的安装目录
browser = webdriver.Chrome()
browser &#
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值