zoukankan      html  css  js  c++  java
  • Python3 Selenium WebDriver网页的前进、后退、刷新、最大化、获取窗口位置、设置窗口大小、获取页面title、获取网页源码、获取Url等基本操作

    Python3 Selenium WebDriver网页的前进、后退、刷新、最大化、获取窗口位置、设置窗口大小、获取页面title、获取网页源码、获取Url等基本操作

    通过selenium webdriver操作网页前进、后退、刷新、最大化、获取窗口位置、设置窗口大小、获取页面title、获取网页源码、获取Url等基本操作:

    from selenium import webdriver
    #打开浏览器
    driver = webdriver.Ie(executable_path = "e:\IEDriverServer")  
    #输入网址
    driver.get("http://wenku.baidu.com")
    #向后退
    driver.back() 
    #向前进
    driver.forward() 
    #刷新页面
    driver.refresh()  
    #设置超时等待的时间,超过不再等待
    driver.set_page_load_timeout(2) 
    
    #捕获超时异常
    try:   
       driver.get("http://www.sohu.com")
    except Exception as e:
        print(e)
    
    #窗口最大化
    driver.maximize_window() 
    #获取坐标位置{'y': -8, 'x': 1672}
    driver.get_window_position() 
    #判断使用的浏览器u'internet explorer'
    driver.name  
    #设置浏览器坐标
    driver.set_window_position(y=200, x=400) 
    #y:指的上下走,屏幕最顶部y=0 ;x:指的左右走 ,最左边x=0,不再当前屏幕的会出现负数
    #浏览器最大化的状态再去设置坐标就不起作用了
    
    driver.get_window_position()['x'] #获取x轴的位置
    driver.get_window_position()['y'] #获取y轴的位置
    
    #获取浏览器的窗体大小{'width': 160, 'height': 32}
    driver.get_window_size() 
    #获取浏览器的宽度
    driver.get_window_size()['width'] 
    #获取浏览器的高度
    driver.get_window_size()['height'] 
    #设置浏览器的窗体大小
    driver.set_window_size(100,200) 
    
    print(driver.title #获取页面title,可以用于做断言看打开的页面对不对搜狐)
    
    assert u"搜狐" == driver.title  #断言标题是否正确
    assert u"搜狐2" == driver.title #断言标题出错
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    AssertionError
    
    driver.page_source() #获取网页源码,返回的其实是unicode字符串
    
    #抓取页面源码时,webdriver可以触犯页面上的js动态数据,但是它的缺点是比较慢;之前讲过的
    
    #request抓取源码快,但只适用于静态页面,无法抓取js的动态页面内容
    #抓取源码是非常重要的,可以随意操作
    driver = webdriver.Ie(executable_path = "e:\IEDriverServer")
    driver.get("http://www.iciba.com")
    driver.page_source[:50] #获取第50行的页面源码
    u'<html><head><style></style><avalon class="avalonHi'
    u"热门词汇" in driver.page_source #判断指定字段是不是在页面源码中存在True
    
    #将页面源码转码成中文,加ignore避免无法识别的生僻字报错
    driver.page_source.encode("gbk","ignore") 
    
    #将页面源码转成html文件
    html=driver.page_source.encode("gbk","ignore") 
    
    #获取当前页面的url u'http://www.iciba.com/
    driver.current_url  

  • 相关阅读:
    【原】【Git】EGit强制覆盖本地文件
    【EGit】The current branch is not configured for pull No value for key branch.master.merge found in config
    【转】【Egit】如何将eclipse中的项目上传至Git
    参加SAP VT项目有感
    2013_12_30 纪念
    2013 12 25 圣诞日
    gin系列-中间件
    gin系列- 路由及路由组
    gin系列-重定向
    gin系列-文件上传
  • 原文地址:https://www.cnblogs.com/lizm166/p/9988603.html
Copyright © 2011-2022 走看看