python+selenium Driver常用方法(浏览器相关操作)

 

  • 四个导航栏方法:get、back、forwad、refresh:我们能看到的浏览器导航栏的:【地址栏输入地址、后退、前进、刷新】

 

from selenium import webdriver
import time
driver = webdriver.Firefox()
driver.get('http://baidu.com') #打开百度
time.sleep(3)  #页面停留3秒
driver.get('https://blog.csdn.net/xxlovesht') #打开博客地址
driver.back() #页面回退
time.sleep(3)
driver.forward() #页面前进
time.sleep(3)
driver.refresh()  #页面刷新

 

  • 三个get方法:title、      current_ulr         page_source :打印结果都是字符串

 

driver.get('https://blog.csdn.net/xxlovesht')
print driver.title #获取标题
print driver.current_url   #获取当前地址
print driver.page_source  #获取当前页面的源代码

运行结果如下:

 

  • 两个关闭:close 和 quit   close:关闭当前浏览器窗口   quit :关闭client与远端浏览器的会话--关闭该浏览器启动的所有窗口

 

driver.get('https://blog.csdn.net/xxlovesht')
driver.find_element_by_id('toolber-keyword').send_keys('python')
driver.find_element_by_class_name('toolbar-icon').click()
time.sleep(3)
driver.close()  #关闭当前浏览器的窗口
time.sleep(2)
driver.quit() #关闭所有的窗口
  • 一组管理窗口的方法 maximize_window(窗口最大化) get_window_size(获取尺寸)set_window_size(设置尺寸)
driver.get('https://blog.csdn.net/xxlovesht')
time.sleep(2)
driver.maximize_window() #窗口最大化
time.sleep(3)
print driver.get_window_size() #获取窗口的尺寸大小
time.sleep(3)
driver.set_window_size(100,500) #自定义设置窗口的尺寸的大小

打印的尺寸大小如下:

{u'width': 1550, u'height': 840}   设置的尺寸如下:

 

  • 一组截图方法: 
  1. get_screenshot_as_file:获取当前浏览器页面的截图,出现IOError时候返回False,截图成功返回True
  2. get_screenshot_as_base64 :保存的是base64的编码格式,在HTML界面输出截图的时候,会用到
  3. get_screenshot_as_png:保存的是二进制数据,很少用到

 

driver.get('https://blog.csdn.net/xxlovesht')
print driver.get_screenshot_as_file(u"E:\\截图下载\\登陆成功.png")

运行结果: 是 True,同时可以在目录下看到截图

 

练习:批量抓取网页上的url

 

#批量抓取网页中的url
driver.get('https://blog.csdn.net/xxlovesht')
import re
urls = []
links = re.findall(r'href="(.*?)"', driver.page_source, re.S)
for link in links:
    if link.startswith('http') or link.startswith('https'):
        urls.append(link)
print '\n'.join(urls)

代码解释:

import re   # 表示引用了正则表达式的包

findall 函数三个参数: 函数返回的是一个列表 ,返回形式为数组

 

第一个参数,正则表达式

第二个参数,搜索的a

第三个参数,匹配的模式,其中re.S使匹配包括换行在内的所有字符。findall()函数是逐行匹配的。

创建了一个空的列表。循环findall里面的数据,判断http 或者https开头,插入列表里面

然后在换行展示出来 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

熊猫_water

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值