- 四个导航栏方法: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} 设置的尺寸如下:
- 一组截图方法:
- get_screenshot_as_file:获取当前浏览器页面的截图,出现IOError时候返回False,截图成功返回True
- get_screenshot_as_base64 :保存的是base64的编码格式,在HTML界面输出截图的时候,会用到
- 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开头,插入列表里面
然后在换行展示出来