首页 > 编程语言 >Selenium基础:cookie javascript调用 屏幕截图 09

Selenium基础:cookie javascript调用 屏幕截图 09

时间:2023-06-27 14:46:39浏览次数:36  
标签:截图 name get Selenium javascript driver cookie id

1、cookie操作  绕过登录

  • get_cookies():以字典形式返回cookie所有信息
  • get_cookies(name):返回cookie字典中key为name的值
  • add_cookie(cookie_dict):手动添加cookie。cookie_dict为字典数据格式,cookie_dict中必须有name和value值
  • delete_cookie(name):删除cookie字典中key为name的值
  • delete_all_cookies():删除所有cookie信息
#示例:访问百度,手动登录后获取cookie信息

from selenium import webdriver
import time

driver = webdriver.Chrome()
driver.implicitly_wait(10)
driver.get("")

#清除所有的cookie
driver.delete_all_cookies()
#登录通过手动操作完成
time.sleep(30)

#获取cookie
cookie = driver.get_cookies()
print(cookie)

cookie字段解释:

  • domain:可以访问此cookie的域名
  • expiry:cookie有效终止时间
  • httpOnly:防脚本攻击
  • name:cookie名称
  • path:可以访问此cookie的页面路径
  • secure:只有当浏览器和服务器通信协议加密即https,浏览器才向服务器提交相应cookie
  • value:cookie值,动态生成的

2、Javascript调用    execute_script()

#示例:定位id=‘id’

#javascript语法为document.getElementById('id')

#利用webdriver操作javascript脚本进行定位
driver. execute_script("document.getElementById('id')")

3、屏幕截图

一般用于程序运行失败时自动截取当前页面,保持记录,方便查看失败原因

4种方式:

  • save_screenshot():获取当前窗口屏幕截图,以png文件格式存储
  • get_screenshot_as_base64():以base64编码字符串的形式获取当前窗口的屏幕截图
  • get_screenshot_as_file():获取当前屏幕截图,使用完整的路径。如果有任何IO error,返回false,否则返回true
  • get_screenshot_as_png():以二进制数据形式获取当前屏幕截图
#示例:访问一个页面,定位一个不存在的元素。当定位元素不存在时进行截图保存

#-*-coding:utf-8-*-
from selenium import webdriver
from selenium.common.exceptions import NoSuchElementException

driver = webdriver.Chrome()
driver.get("")
driver.implicitly_wait(10)

try:
     driver.find_element_by_id('id')
except NoSuchElementException:
        #定位元素不存在时截图
      driver.save_screenshot('img/testFail/screenshot.png')

driver.quit()

 

标签:截图,name,get,Selenium,javascript,driver,cookie,id
From: https://www.cnblogs.com/ddupfan/p/17508819.html

相关文章

  • Excel JavaScript API for PivotTables
    WorkwithPivotTablesusingtheExcelJavaScriptAPI-OfficeAdd-ins|MicrosoftLearnPivotTablesstreamlinelargerdatasets.Theyallowthequickmanipulationofgroupeddata.TheExcelJavaScriptAPIletsyouradd-increatePivotTablesandinteractw......
  • Design a Drum-kit web app using JavaScript Javascript设计drum-kit项目
    Weallmusthaveseenadrumkitinsomeconcertorelsewhere,itisacollectionofdrums,cymbalsandotherpercussioninstruments.Buthaveyoueverimaginedmakingthatdrumkitonyourownvirtuallywiththehelpofsomescriptinglanguage?Well,so......
  • selenium中使用CSS 定位
    CSS是一种语言,用来描述HTML和XML文档的表现。CSS使用选择器为页面元素绑定属性。CSS选择器可以较为灵活地选择控件的任意属性,一般情况下,CSS定位速度比XPath定位速度快 通过CSSSelector选择单个元素的方法是find_element(By.CSS_SELECTOR,CSSSelector参数)......
  • javascript连接MySQL
    varmysql =require('mysql');varconnection=mysql.createConnection({  host  :'localhost',  user  :'root',  password:'password',  port:'3306',  database:'nufix'});connecti......
  • selenium根据link、partial link选择元素
    link定位By.LINK_TEXT方法是通过元素标签对之间的文字信息来定位元素的,它专门用来定位文本链接.百度输入框上面的几个文字链接的代码如下。<aclass="mnav"name="tj_trnews"href="http://news.baidu.com">新闻</a><aclass="mnav"name="tj_trhao123"href=&......
  • selenium根据class属性、tag名选择元素
    根据class属性选择元素元素也有类型,class属性就用来标志着元素类型若网页html内容如下:<body><divclass="plant"><span>土豆</span></div><divclass="plant"><span>洋葱</span></div>......
  • JavaScript Framework Unpoly 框架介绍
    作为一种创建Web应用程序的更直接的方式,无需使用太多JavaScript,HTML在线技术一直在蓬勃发展。它的工作原理是通过网络发送HTML,而不是JSON。现在,一种名为Unpoly的新JavaScript框架已经成为Basecamp的HTML在线框架Hotwire的竞争者。Unpoly承诺“为服务器渲染的H......
  • JavaScript 一些简写代码的例子
    在使用UglifyJS对javascript进行压缩和美化时,我在其中发现了一些关于ifelse的语法简写,顺便说说平时有哪些JavaScript代码可以进行简写,同时不会影响可读性和性能。javascript简写(JavaScriptshorthand)是每一个javascript开发者必须掌握的技术,最少的代码获得最大的性能! 1.判断......
  • JS Cookie的操作
    <!DOCTYPEhtml><htmllang="zh-cn"><head><metacharset="UTF-8"><title>JSCookie的操作</title><script>//设置cookie值的函数functionsetCookie(cname,cvalue,exdays){ vard=newDate(); d.setTime(......
  • javascript:return confirm('您确定要删除吗?')
    javascript:returnconfirm('您确定要删除吗?')οnclick="javascript:returnconfirm('您确定要删除吗?')" 用在<a>和<input>标签里都可以 例如:<ahref="?id=XXX"οnclick="javascript:returnconfirm('您确定要删除该条数据吗?')"......