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  

 

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/tech/pnotes/16686.html

(0)
上一篇 2021年7月19日 19:31
下一篇 2021年7月19日 19:31

相关推荐

发表回复

登录后才能评论