精华内容
下载资源
问答
  • selenium冻结窗口
    2021-11-23 21:36:42

    冻结窗口


    在console中执行setTimeout(function(){debugger},1000)可以在1s后冻结窗口,有的时候元素无法定位到就可以通过它来定位
    #也可以是
    setTimeout(() => {debugger;}, 4000);

    更多相关内容
  • Selenium冻结界面

    2022-03-11 22:16:48
    文章目录1 实现 1 实现 在 开发者工具栏 console 里面执行如下js代码 setTimeout(function(){debugger}, 3000) 含义:过3000毫秒(即3秒...debug状态有个特性:页面别冻结,不管我们怎么点击界面都不会触发事件。 ...

    文章目录

    1 实现

    在开发者工具栏Console里面执行如下js代码

    setTimeout(function(){debugger}, 3000)
    

    含义:过3000毫秒(即3秒)后,执行function debugger命令。执行该命令会使浏览器进入debug状态。debug状态有个特性:页面别冻结,不管我们怎么点击界面都不会触发事件。

    2 示例

    打开小米官网“https://www.mi.com/”,将鼠标移动到Xiaomi手机,定位浮窗中的第一款小米手机。
    步骤:

    1. 打开小米官网>>【F12】选择Console>>输入上面上面代码并回车执行。
    2. 立即将鼠标放在Xiaomi手机处。
    3. 等待3秒后,界面就会因为执行了debugger命令而被冻住。
    4. 点击开发者工具栏的查看箭头>>点击第一款小米手机就可准确定位了。
      在这里插入图片描述
    展开全文
  • 一、先安装selenium驱动或者插件 这是我另一篇博客,详细的介绍了各种浏览器如何安装: ...二、编写Python代码;我这里是网上最全的元素定位 ...# 将浏览器窗口最大化 dr.maximize_window() # 1、id btn = dr.find_
  • selenium窗口切换句柄和截屏操作 在页面操作过程中有时候点击某个链接会弹出新的窗口,这时就需要主机切换到新打开的窗口上进行操作。WebDriver提供了switch_to.window()方法,可以实现在不同的窗口之间切换。 获取...

    selenium窗口切换句柄和截屏操作

    在页面操作过程中有时候点击某个链接会弹出新的窗口,这时就需要主机切换到新打开的窗口上进行操作。WebDriver提供了switch_to.window()方法,可以实现在不同的窗口之间切换。

    获取当前浏览器所有的窗口句柄 :

    winhands = driver.window_handles#窗口句柄存放在列表中
    

    切换句柄:

    driver.switch_to.window(winhands[-1])
    

    应用:

    from selenium import webdriver
    from selenium.webdriver.common.keys import Keys
    import time
    driver = webdriver.Chrome()
    driver.implicitly_wait(10)
    driver.maximize_window()
    
    driver.get("https://www.jd.com/")
    
    #获取当前窗口的句柄  句柄就像窗口的身份证一样可以唯一的标识我们的窗口
    jdhandle = driver.current_window_handle
    
    #点击 酒店
    driver.find_element_by_css_selector('ul[class="J_tab_headservice_list"]a[href="//hotel.jd.com/"]').click()
    
    #获取当前浏览器所有的窗口句柄 窗口句柄存放在列表中
    winhands = driver.window_handles
    #获取所有的窗口的句柄是存在列表中,列表中的最后一个元素就是新打开的窗口的句柄
    driver.switch_to.window(winhands[-1])
    #进入酒店选择界面 输入城市
    driver.find_element_by_id('city').clear()
    driver.find_element_by_id('city').send_keys("西安")
    #点击
    driver.find_element_by_xpath('//ul[@class="suggest-ul"]/li[1]').click()
    
    time.sleep(3)
    #点击 搜索酒店 按钮
    driver.find_element_by_id("searchBtn").click()
    
    冻结鼠标悬停框:
    setTimeout(function(){debugger},5000)
    
    

    获取句柄的方式:

    current_window_handle
    获得当前窗口句柄。
    
    window_handles
    返回所有窗口的句柄到当前会话。
    
    switch_to.window()
    用于切换到相应的窗口,与上一节的switch_to.frame()类似,前者用于不同窗口的切换,后者用于不同表单之间的切换。
    

    窗口截屏

    WebDriver提供了截图函数get_screenshot_as_file()来截取当前窗口。

    from selenium import webdriver
    from time import sleep
    
    driver = webdriver.Firefox()
    driver.get('http://www.baidu.com')
    
    driver.find_element_by_id('kw').send_keys('selenium')
    driver.find_element_by_id('su').click()
    sleep(2)
    
    # 截取当前窗口,并指定截图图片的保存位置
    driver.get_screenshot_as_file("D:\\baidu.jpg")
    
    driver.quit()
    
    展开全文
  • selenium关于断言的使用

    千次阅读 2021-11-01 13:55:26
    Selenium工具有4种:Selenium IDE, Selenium Control, Selenium Core 这儿我们主要总结了Selenium-IDE工具 Selenium-IDE只限于firefox浏览器中使用。 Selenium命令分成三类: 操作(action)、辅助(accessors)和...

    基本介绍:

    Selenium工具专门为WEB应用程序编写的一个验收测试工具。

    Selenium的核心:browser bot,是用JAVASCRIPT编写的。

    Selenium工具有4种:Selenium IDE, Selenium Control, Selenium Core

    这儿我们主要总结了Selenium-IDE工具

    Selenium-IDE只限于firefox浏览器中使用。

    Selenium命令分成三类:

    操作(action)、辅助(accessors)和断言(assertion):

    操作action:

    模拟用户与 Web 应用程序的交互。一般用于操作应用程序的状态。

    如点击链接,选择选项的方式进行工作。如果一个动作执行失败,或是有错误,当前的测试将会停止执行。

    操作中常见命令有:open(打开页面)

    click(点击)

    clickAndWait(点击并等待)

    type(文本类型)

    select(选择下拉菜单)

    selectWindow(选择弹出窗口)

    pause(等待指定时间,以毫秒为单位,即要睡眠的时间)

    setSpeed(设定执行速度。以毫秒延迟间隔长度。默认没有延迟,即为0)

    setTimeout(指定等待动作完成的等待时间。默认为30秒。

    需要等待的动作包括了OPEN 和WAITFOR)

    goBack(模拟用户点击其浏览器上的“back”按钮)

    close(模拟用户点击弹出窗体或表单标题栏上的”关闭”按钮)

    click与clickAndWait的区别:

    例如对比录制脚本:

    Comand      Target

    click             css=input[type=submit]           //句一

    clickAndWait  css=input[type=submiit]          //句二

    转成PHPUNIT后代码为:

    $this->click(“css=input[type=submit]“);        //此句对应上面的 句一

    $this->click(“css=input[type=submit]“);        //此句和下一句,对应上面的 句二

    $this->waitForPageToLoad(“30000″);

    区别在于:clickAndWait后会有一个默认的页面等待时间为30秒;而click没有等待时间;

    Andwait这个后缀,告诉我们,该命令将使浏览器向服务器产生一个请求,使Selenium等待加载一个新的页面。

    辅助accessors:

    这是辅助工具。用于检查应用程序的状态并将结果存储到变量中。

    如:storeElementPresent(locator,variableName)

    其中参数:locator 表示元素定位器;variableName 用于存储结果的变量名。

    即将locator定位到的状态存储到variableName变量中。

    如果该元素出现返回true,否则返回false

    可同断言一同使用。

    断言assertion:

    验证应用程序的状态是否同所期望的一致。

    常见的断言包括:验证页面内容,如标题是否为X或当前位置是否正确,或是验证该复选框是否被勾选。

    selenium 提供了三种模式的断言:assert 、verify、waitfor
      Assert 失败时,该测试将终止。
      Verify 失败时,该测试将继续执行,并将错误记入日显示屏 。也就是说允许此单个 验证通过。确保应用程序在正确的页面上
      Waitfor 用于等待某些条件变为真。可用于 AJAX 应用程序的测试。

      如果该条件为真,他们将立即成功执行。如果该条件不为真,则将失败并暂停测试。直到超过当前所设定的超过时间。一般跟setTimeout时间一起使用

    断言常用的有:

    assertLocation(判断当前是在正确的页面)、

    assertTitle(检查当前页面的 title 是否正确)、
    assertValue(检查 input 的值, checkbox 或 radio,有值为”on”无为”off”)、
    assertSelected(检查 select 的下拉菜单中选中是否正确)、
    assertSelectedOptions(检查下拉菜单中的选项的是否正确)、
    assertText(检查指定元素的文本)、
    assertTextPresent(检查在当前给用户显示的页面上是否有出现指定的文本)、
    assertTextNotPresent(检查在当前给用户显示的页面上是否没有出现指定的文本)、
    assertAttribute(检查当前指定元素的属性的值)、
    assertTable(检查 table 里的某个 cell 中的值)、
    assertEditable(检查指定的 input 是否可以编辑)、

    assertNotEditable(检查指定的 input 是否不可以编辑)、
    assertAlert(检查是否有产生带指定 message 的 alert 对话框)、
    verifyTitle (检查预期的页面标题)
    verifyTextPresent (验证预期的文本是否在页面上的某个位置)
    verifyElementPresent(验证预期的UI元素,它的HTML标签的定义,是否在当前网页上)
    verifyText(核实预期的文本和相应的HTML标签是否都存在于页面上)
    verifyTable(验证表的预期内容)
    waitForPageToLoad(暂停执行,直到预期的新的页面加载)
    waitForElementPresent (等待检验某元素的存在。为真时,则执行。)

    验证和断言的区别:验证失败后不影响脚本的继续执行,断言失败后将停止脚本的执行。

    异常类型

    AssertionError:assert语句失败

    AttributeError:试图访问一个对象没有的属性

    IOError:输入输出异常,基本是无法打开文件

    ImportError:无法引入模块或者包,基本是路径问题

    IndentationError:语法错误,代码没有正确的对齐

    IndexError:下标索引超出序列边界

    KeyError:试图访问字典里不存在的键

    KeyboadrInterrupt:Ctrl+c被按下

    NameError:使用一个还未赋值对象的变量

    SyntaxError:python代码逻辑语法错误,不能执行

    TypeError:传入的对象类型与要求不符

    UnboundLocalError:试图访问一个还未设置的全局变量,基本上是由于另有一个同名的全局变量,导致你以为在访问

    ValueError:传入一个不被期望的值,即使类型正确

     UnitTest框架中的断言

    在unittest单元测试框架中,TestCase类提供了一些方法来检查并报告故障

    例子:

    >>> try:
        num = input("Enter a number:")
        assert (num == 10),"The number is not 10"
    except AssertionError,msg:
        print msg
        print ("Sadly ,num not equals to 10")

        
    Enter a number:10


    ====================================
    >>> try:
        num = input("Enter a number:")
        assert (num == 10),"The number is not 10"
    except AssertionError,msg:
        print msg
        print ("Sadly ,num not equals to 10")

        
    Enter a number:20
    The number is not 10
    Sadly ,num not equals to 10

    文件显示:

    # -*- coding:utf-8 -*-

    import unittest

    class Assert_test(unittest.TestCase):

        def test_case(self):
            try:
                num = input("Enter a number")
                self.assertEqual(num, 10, msg="The number is not 10"),
            except AssertionError, msg:
                print msg


    if __name__ == "__main__":
        unittest.main()

    展开全文
  • 解读selenium webdriver

    2022-06-02 09:02:36
    WebDriver可以像用户一样驱动原生浏览器,无论是在本地服务器还是在使用Selenium服务器的远程机器上,都标志着浏览器自动化的一个飞跃。
  •  打开命令窗口,输入pip install selenium,即可安装好selenium包 2、下载浏览器驱动。  下载地址:http://chromedriver.storage.googleapis.com/index.html  根据自己浏览器对应的版本下载对应的驱动,例如我的...
  • selenium详细介绍

    千次阅读 2021-12-27 08:54:16
    如果我们用Selenium写自动化程序 在新窗口里面 打开一个新网址, 并且去自动化操作新窗口里面的元素,会有什么问题呢?问题就在于,即使新窗口打开了, 这时候,我们的 WebDriver对象对应的 还是老窗口,自动化操作...
  • Python+selenium 自动化-chrome页面静止、冻结技术,获取web动态页面的Xpath方法,查看浏览器动态dom节点。 很多时候根据需要,我们要取动态界面某些元素的Xpath。 如图所示,动态的界面静止了,此时用左上角的小...
  • selenium webdriver入门

    2022-01-02 14:29:05
    WebDriver可以像用户一样驱动原生浏览器,无论是在本地服务器还是在使用Selenium服务器的远程机器上,都标志着浏览器自动化的一个飞跃。 Selenium WebDriver也是控制浏览器代码运行的一种实现方式,通常被简称为...
  • selenium学习笔记

    2022-02-07 22:47:42
    selenium 一 安装与准备 1 pip install selenium 2 安装浏览器,下载浏览器对应的驱动 https://registry.npmmirror.com/binary.html?path=chromedriver 3 相关资料: http://www.python3.vip/tut/auto/selenium/01/ ...
  • Selenium 008 WebDriver 文档

    千次阅读 2021-03-24 08:34:44
    根据经验,大多数由于使用Selenium和WebDriver而产生的间歇性问题都与浏览器和用户指令之间的 竞争条件 有关。例如,用户指示浏览器导航到一个页面,然后在试图查找元素时得到一个 no such element 的错误。 考虑...
  • selenium抓取页面表格

    千次阅读 2020-07-23 13:14:56
    本文主要讲的是如何使用selenium提取页面表格,下面***号间的代码就是提取表格的代码,只需要在开头的地方获取tr和td两个元素就可以了。原理是通过tr元素个数获知表格行数,td元素中的colspan、rowspan属性获知...
  • selenium基本

    2020-10-19 09:17:43
    selenium详解 from selenium import webdriver import time #创建一个浏览器 driver = webdriver.Chrome() #浏览器最大化 driver.maximize_window() # #最小化浏览器 # driver.minimize_window() # #打开指定的...
  • 1、鼠标指针悬停实战 from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import Select # 导入ActionChains类 from selenium.webdriver.common....
  • python3 selenium copy即用

    2020-06-01 12:00:34
    python3 selenium 入门级常用指令 wd.implicitly_wait(10) 如果没有找到元素,等待指定时间。如果是省市联动那种下拉框 要注意sleep,因为框框里面是有东西的 element = wd.find_element_by_id(“input1”) element....
  • selenium常用操作大杂烩 文章大部分内容均为selenium官网案例,汇集起来只是为了方便学习
  • Selenium 常用的命令和简单解释(Python视角) Selenium 是一个 Web应用的自动化框架。 作为测试人员,需要做的就是自行编写自动化程序。 Python 有自己的库,Java 也有自己的库… 一、安装 Selenium 环境的安装...
  • 通过 Selenium 提供的ActionChains类来实现 from selenium import webdriver driver = webdriver.Chrome(r'f:\chromedriver.exe') driver.implicitly_wait(5) driver.get('https://www.baidu.com/') from ...
  • Selenium基础-CSS定位

    2021-09-01 19:49:17
    9、其他 窗口大小 获取窗口大小 driver.get_window_size() 改变窗口大小 driver.set_window_size(x, y) 获取当前窗口标题 driver.title 获取当前窗口URL地址 driver.current_url from selenium import webdriver ...
  • Selenium 自动化测试 - 使用手册

    万次阅读 2020-07-18 07:19:12
    Selenium 是一个 Web 应用的自动化框架。通过它可以写出自动化程序,在浏览器里操作 Web 界面,从 Web 界面获取信息。 Selenium 自动化流程如下: 自动化程序调用 Selenium 客户端库函数(比如点击按钮元素)。 ...
  • 这一篇博客主要记录的是对话框、窗口切换、多种选择框(单多选框、Select模块),以及实践的一个小技巧——冻结窗格。 1、对话框 这里记录的对话框操作,指的是浏览器自带的对话框,如果是html的对话框,那就按定位...
  • Selenium是一套Web网站的程序自动化操作解决方案(比如点击界面按钮,在文本框中输入文字等操作)Selenium的自动化原理如下 3.2 下载谷歌浏览器Chrome对应的驱动 驱动库网址:...
  • 4. 按F8 或 Ctrl + \(此操作冻结DOM并暂停脚本执行), 直到看到“pause in debugger” 弹框出现。 5. 按 Ctrl + Shift + C, 然后就可以去定位收缩框里的类容啦 an alternative method in Chr...
  • Selenium自动化学习前言一、selenium是什么?二、使用步骤1.引入库1.1安装selenium库1.2安装浏览器1.3下载对应浏览器驱动2.正式使用总结 前言 本文学习自哔哩哔哩-白月黑羽教编程-Python + Selenium Web自动化课程 ...
  • #冻结窗口 setTimeout(function(){debugger}, 5000) #显示弹出框文本内容 text = self.driver.switch_to.alert.text print("弹出框值:" + text) ¥¥弹框 #消除弹框 self.driver.switch_to.alert.accept() #打印...
  • selenium 要点总结

    2019-09-28 17:23:31
    这几天复习了之前学习selenium的课堂笔记和课后作业,把知识巩固了,也将一些忘记了的重新捡起来。现在做一个要点总结。 初识webdriver selenium是模拟人去操作浏览器,测试的是整个web应用,包括前端和后端。 要...
  • 一、Selenium介绍 Selenium 是什么?一句话,自动化测试工具。它支持各种浏览器,包括 Chrome,Safari,Firefox 等主流界面式浏览器,如果你在这些浏览器里面安装一个 Selenium 的插件,那么便可以方便地实现Web界面...
  • selenium爬虫入门(3)

    2021-12-10 21:07:57
    contentsframe/窗口 切换frame切换用WebDriver的switch_to切换窗口切换用WebDriver的switch_to切换窗口关闭选择框radio框checkbox框selecet 框select单选框select多选框 from selenium.webdriver import Chrome ...
  • 中老年人学习selenium,可以自动化办公,爬虫啥的,selenium支持多种语言,这里讲的是python

空空如也

空空如也

1 2 3 4 5 ... 8
收藏数 156
精华内容 62
关键字:

selenium冻结窗口