栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Selenium基础

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Selenium基础

资料:1、67道 Python自动化面试题_Python热爱者的博客-CSDN博客_python自动化面试题

100道Python面试题总结_Python热爱者的博客-CSDN博客_python面试题100道 1、Action Chains类
from selenium.webdriver.common.action_chains import ActionChains

首先需要实例化,然后调用其中的方法,完成相应的操作。

下面是一些常用的模拟鼠标的操作

  • click(on_element=None)
    鼠标单击
  • click_and_hold(on_element=None)
    鼠标单击并且按住不放
  • context_click(on_element=None)
    右击
  • double_click(on_element=None)
    双击
  • drag_and_drop(source, target)
    拖拽
  • drag_and_drop_by_offset(source, xoffset, yoffset)
    将目标拖动到指定的位置
  • key_down(value, element=None)
    按住某个键,使用这个方法可以方便的实现某些快捷键,比如下面按下Ctrl+c键

  • ActionsChains(browser).key_down(Keys.CONTROL).send_keys('c').perform()

         key_up(value, element=None)
        松开某个键,可以配合上面的方法实现按下Ctrl+c并且释放。

  • move_by_offset(xoffset, yoffset)
    指定鼠标移动到某一个位置,需要给出两个坐标位置
  • move_to_element(to_element)
    将鼠标移动到指定的某个元素的位置
  • move_to_element_with_offset(to_element, xoffset, yoffset)
    移动鼠标到某个元素位置的偏移位置
  • perform()
    将之前的一系列的ActionChains执行
  • release(on_element=None)
    释放按下的鼠标
  • send_keys(*keys_to_send)
    向某个元素位置输入值
  • send_keys_to_element(element, *keys_to_send)
    向指定的元素输入数据

  •  2

 2、延迟等待

延时等待分为三种,分别是:硬性等待、隐式等待、显示等待

1.强制等待:

import time

time.sleep(5)

不管浏览器是否加载完都需要等待5s

2.隐性等待:

driver.implicitly_wait(30)

等待时间到达后再执行下一步

隐性等待对整个driver 周期起作用

3.显性等待:

WebDriverWait需要配合until()和until_not()方法使用

如果提前检测到条件成立就结束等待。否则继续等待直到到超过设计的最长时间
等待可以和expected_conditions 结合起来使用。

3、EC类

1)expected_conditions.presence_of_element_located(locator)

判断一个元素存在于页面DOM树中,存在则返回元素本身,不存在则报错。

2)expected_conditions.element_to_be_clickable(locator)
判断某元素是否可访问并且可启用,比如能够点击,若可以则返回元素本身,否则返回False。locator为一个元祖(by, path)
3)expected_conditions.alert_is_present

判断alert是否存在,若存在则切换到alert,若不存在则返回false

4)expected_conditions.element_selection_state_to_be(element, is_selected)

判断某元素的选中状态是否与预期相同,相同则返回True,不同则返回False

5)expected_conditions.title_contains(title)

判断网页title是否包含特定文本(英文区分大小写),若包含则返回True,不包含返回False

等:详情可查找:Python + Selenium: expected_conditions介绍

Python + Selenium: expected_conditions介绍_kelanmomo的博客-CSDN博客

4、python中断言方法举例?

这里介绍几个常用断言的使用方法,可以一定程度上帮助大家对预期结果进行判断。

  • assertEqual
  • assertNotEqual
  • assertTrue
  • assertFalse
  • assertIsNone
  • assertIsNotNone

使用方法:

1、assertEqual(first,second,msg)其中first与second进行比较,如果相等则通过;
msg为失败时打印的信息,选填;
断言assertNotEqual反着用就可以了。

2、assertTrue(expr,msg)其中express输入相应表达式,如果表达式为真,则pass;
msg选填;

断言assertFalse如果表达式为假,则pass

3、assertIsNone和assertIsNotNone

使用方法:

  • assertIsNone:不存在,则pass
  • assertIsNotNone:存在,则pass

assertIsNone(obj,msg)检查某个元素是否存在

5、列出python中可变数据类型和不可变数据类型,并简述原理

不可变数据类型:

数值型、字符串型string和元组tuple

不允许变量的值发生变化,如果改变了变量的值,相当于是新建了一个对象,而对于相同的值的对象,在内存中则只有一个对象(一个地址)

可变数据类型:

列表list和字典dict

允许变量的值发生变化,即如果对变量进行append、+=等这种操作后,只是改变了变量的值,而不会新建一个对象,变量引用的对象的地址也不会变化。

相同的值在内存中可能会存在不同的对象,即每个对象都有自己的地址,相当于内存中对于同值的对象保存了多份,这里不存在引用计数,是实实在在的对象。

6、python中的map、filter、reduce函数

python中的map、filter、reduce函数 - 简书---看这个吧

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1018904.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号