Python之Selenium自动化浏览器测试详解

目录
  • Python之Selenium(自动化浏览器测试)
    • 1.安装selenium
    • 2.下载对应版本的浏览器驱动
    • 3.测试code,打开一个网页,并获取网页的标题
    • 4.一个小样例
  • 总结

Python之Selenium(自动化浏览器测试)

1.安装selenium

pip install selenium -i https://pypi.tuna.tsinghua.edu.cn/simple

2.下载对应版本的浏览器驱动

http://npm.taobao.org/mirrors/chromedriver/

这是我的。

把解压后的驱动放在自己的python.exe 目录下。

3.测试code,打开一个网页,并获取网页的标题

from selenium.webdriver import Chrome
if __name__ == '__main__':
    web = Chrome()
    web.get("https://baidu.com")
    print(web.title)

4.一个小样例

from selenium.webdriver import Chrome
if __name__ == '__main__':
    web = Chrome()
    url = 'https://ac.nowcoder.com/acm/home'
    web.get(url)
	# 获取要点击的a标签
    el = web.find_element_by_xpath('/html/body/div/div[3]/div[1]/div[1]/div[1]/div/a')
	# 点击
    el.click()                          # "/html/body/div/div[3]/div[1]/div[2]/div[2]/div[2]/div[1]/h4/a"
    # 爬取想要的内容
    lists = web.find_elements_by_xpath("/html/body/div/div[3]/div[1]/div[2]/div[@class='platform-item js-item ']/div["
                                       "2]/div[1]/h4/a")
    print(len(lists))
    for i in lists:
        print(i.text)

5.自动输入并跳转

from selenium.webdriver import Chrome
from selenium.webdriver.common.keys import Keys
import time
if __name__ == '__main__':
    web = Chrome()
    url = 'https://ac.nowcoder.com/acm/home'
    web.get(url)
    el = web.find_element_by_xpath('/html/body/div/div[3]/div[1]/div[1]/div[1]/div/a')
    el.click()
    time.sleep(1)
    input_el = web.find_element_by_xpath('/html/body/div/div[3]/div[1]/div[1]/div[1]/form/input[1]')
    input_el.send_keys('牛客', Keys.ENTER)
    #  do something

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注我们的更多内容!

(0)

相关推荐

  • Python + selenium 自动化测试框架详解

    目录 自动化测试框架 1.基础层(通用层) 2.功能层(页面层) 3.业务层 4.用例层 4层框架对应的项目工程 总结 自动化测试框架 项目自动化测试框架设计为4层 1.基础层(通用层) 基础层: 将通用,重复性比较高的代码封装到这里. 写通用的代码的. 其他3层想要的话,就可以直接调用. 例如: 读取测试数据的代码,读取配置信息的代码:截图的代码的,定位元素的代码等等 2.功能层(页面层) 功能层: pages 封装页面的. 把页面封装成类.类中包含:属性和方法 把页面上的界面元素定义成类的属

  • python自动化测试selenium定位frame及iframe示例

    frame标签有frameset.frame.iframe三种,frameset和其它普通标签没有区别,不会影响正常定位,而frame与iframe对selenium定位而言是一样的. Selenium有以下方法对frame进行操作. 示例网站:http://sahitest.com/demo/framesTest.htm 示例脚本: from selenium import webdriver from time import sleep class TestFrame(object): de

  • python自动化测试selenium核心技术等待条件教程

    Selenium中的鼠标和键盘事件被封装在ActionChains类中,使用方法: ActionChains(driver).click(btn).perform() ActionChains中常用方法: 示例网站:http://sahitest.com/demo 示例场景:打开Sahi Tests页面,点击"Alert Test"页面,鼠标点击页面中"Click For Alert"按钮,弹出警告提示框,判断页面是否存在alert,如存在则切换到警告框,并获取警告

  • python自动化测试selenium执行js脚本实现示例

    WebDriver有2个方法执行Java Script脚本. (1)同步执行:execute_script (2)异步执行:execute_async_script from selenium import webdriver from time import sleep class TestScriptss(object): def setup(self): self.driver = webdriver.Chrome() self.driver.get(http://www.baidu.co

  • python自动化测试selenium屏幕截图示例

    WebDriver内置了测试中捕获屏幕并保存的方法. 示例脚本: (1)save_screenshot(filename):保存屏幕截图 from selenium import webdriver from time import sleep,strftime,localtime,time import os class TestScreenShot(object): def setup(self): self.driver = webdriver.Chrome() self.driver.g

  • python自动化测试selenium核心技术三种等待方式详解

    目录 1 使用python自带模块time的sleep方式 2 隐式等待(implicitly_wait) 3 显示等待(WebDriverWait) UI自动化测试过程中,可能会出现因测试环境不稳定.网络慢等情况,如果不做任何处理的话,会出现无法定位到特定元素而报错,导致自动化测试无法顺利执行. selenium官网手册:Waits | Selenium slenium自动化测试中,主要涉及三种等待方式: 1 使用python自带模块time的sleep方式 缺点:即使网络条件较好时,依旧按照

  • Python之Selenium自动化浏览器测试详解

    目录 Python之Selenium(自动化浏览器测试) 1.安装selenium 2.下载对应版本的浏览器驱动 3.测试code,打开一个网页,并获取网页的标题 4.一个小样例 总结 Python之Selenium(自动化浏览器测试) 1.安装selenium pip install selenium -i https://pypi.tuna.tsinghua.edu.cn/simple 2.下载对应版本的浏览器驱动 http://npm.taobao.org/mirrors/chromedr

  • Python+selenium实现浏览器基本操作详解

    目录 关闭 driver 启动的浏览器 浏览器最大化与设置浏览器窗口大小 浏览器最大化 设置浏览器窗口大小 浏览器的前进.后退与刷新页面 关闭 driver 启动的浏览器 上一章节文末,我们介绍了关于两种关闭浏览器的方式,这里不做过多的复述.(实在是这一章节的内容太少了) 在 selenium 中,提供了两种关闭 driver 启动的浏览器的方式: close() 方法:该方法可以关闭浏览器,但是它关闭的只是浏览器的窗口,由 driver 启动的浏览器的进程依然还在,会占用一定的资源. quit

  • Python中Selenium模块的使用详解

    Selenium的介绍.配置和调用 Selenium(浏览器自动化测试框架) 是一个用于Web应用程序测试的工具.Selenium测试直接运行在浏览器中,就像真正的用户在操作一样.支持的浏览器包括IE(7, 8, 9, 10, 11),Firefox,Safari,Google Chrome,Opera等.这个工具的主要功能包括:测试浏览器的兼容性--测试你的应用程序看是否能够很好得工作在不同浏览器和操作系统之上.测试系统功能--创建回归测试检验软件功能和用户需求.支持自动录制动作和自动生成 .

  • Python中Selenium库使用教程详解

    selenium介绍 selenium最初是一个自动化测试工具,而爬虫中使用它主要是为了解决requests无法直接执行JavaScript代码的问题 selenium本质是通过驱动浏览器,完全模拟浏览器的操作,比如跳转.输入.点击.下拉等,来拿到网页渲染之后的结果,可支持多种浏览器 中文参考文档 官网 环境安装 下载安装selenium pip install selenium -i https://mirrors.aliyun.com/pypi/simple/ 谷歌浏览器驱动程序下载地址:

  • 通过Python实现一个A/B测试详解

    目录 / 01 / AB测试 / 02 / 使用Python进行AB测试 / 03 / 数据准备 / 04 / AB测试找到最佳营销策略 / 05 / 结论 A/B测试,通过分析两种不同的营销策略,以此来选择最佳的营销策略,可以高效地将流量转化为销售额(或转化为你的预期目标). 有助于找到更好的方法来寻找客户.营销产品.扩大影响范围或将目标客户转化为实际客户. A/B测试是每个学习数据分析同学,都应该知道且去学习的概念. / 01 / AB测试 举个例子,我在短视频App上购买流量推广我的视频(

  • 详解Python多线程Selenium跨浏览器测试

    前言 在web测试中,不可避免的一个测试就是浏览器兼容性测试,在没有自动化测试前,我们总是苦逼的在一台或多台机器上安装N种浏览器,然后手工在不同的浏览器上验证主业务流程和关键功能模块功能,以检测不同浏览器或不同版本浏览器上,我们的web应用是否可以正常工作. 下面我们看看怎么利用python selenium进行自动化的跨浏览器测试. 什么是跨浏览器测试 跨浏览器测试是功能测试的一个分支,用以验证web应用能在不同的浏览器上正常工作. 为什么需要跨浏览器测试 通常情况下,我们都期望web类应用

  • Python中selenium库的用法详解

    selenium主要是用来做自动化测试,支持多种浏览器,爬虫中主要用来解决JavaScript渲染问题. 模拟浏览器进行网页加载,当requests,urllib无法正常获取网页内容的时候 一.声明浏览器对象 注意点一,Python文件名或者包名不要命名为selenium,会导致无法导入 from selenium import webdriver #webdriver可以认为是浏览器的驱动器,要驱动浏览器必须用到webdriver,支持多种浏览器,这里以Chrome为例 browser = w

  • 基于Python的接口自动化unittest测试框架和ddt数据驱动详解

    引言 在编写接口自动化用例时,我们一般针对一个接口建立一个.py文件,一条接口测试用例封装为一个函数(方法),但是在批量执行的过程中,如果其中一条出错,后面的用例就无法执行,还有在运行大量的接口测试用例时测试数据如何管理和加载.针对测试用例加载以及执行控制,python语言提供了unittest单元测试框架,将测试用例编写在unittest框架下,使用该框架可以单个或者批量加载互不影响的用例执行及更灵活的执行控制,对于更好的进行测试数据的管理和加载,这里我们引入数据驱动的模块:ddt,测试数据和

  • Python Unittest自动化单元测试框架详解

    本文实例为大家分享了Python Unittest自动化单元测试框架的具体代码,供大家参考,具体内容如下 1.python 测试框架(本文只涉及 PyUnit) 参考地址 2.环境准备 首先确定已经安装有Python,之后通过安装PyUnit,Python版本比较新的已经集成有PyUnit(PyUnit 提供了一个图形测试界面UnittestGUI.py) 参考:查看地址 3.代码实例 使用的IDE为 PyCharm,DEMO结构如图 1.简单地一个实例 # Test002_Fail.py #

  • python+adb+monkey实现Rom稳定性测试详解

    我为什么做这项工作? 其实这项工作是另一位同事在做,过程中发下了一些问题,但是种种原因log和数据都没有收集到,无法进行分析.然后我就接手了,负责复现她发现的问题并提供log和数据给开发分析. 需要测试的是一个什么样的功能? 需求是这样的:开发在Framework层增加了app应用权限管控(Android11中基本权限.自动以权限.AIDL),服务端可以通过下发指令到手机,控制app可以访问及不能访问的权限.同时安装app也需要对签名做校验. 该如何开始这项工作呢? 不用多言,自动化是必须的,但

随机推荐