精华内容
下载资源
问答
  • Python实现Web自动化

    2021-04-25 18:00:24
    pip install selenium 在操作系统中安装webdriver: 下载webdriver地址:http://chromedriver.storage.googleapis.com/index.html下载后移动到/usr/local/bin目录... 运行命令chmod a+x webdriver ......
    1. pip install selenium
    2. 在操作系统中安装webdriver:

      1. 下载webdriver地址:http://chromedriver.storage.googleapis.com/index.html 下载后移动到/usr/local/bin目录下(本人是Mac电脑)

      2. 运行命令chmod a+x webdriver

    3. pip install page_objects
      
    展开全文
  • 目的:python实现web自动化实现文件上传一、 环境准备:1、python的web自动化环境selenium的安装:pip install selenium;chromediver的下载及环境配置:下载的chromediver的驱动需与本地的谷歌浏览器版本相对应,并...

    目的:python实现web自动化实现文件上传

    一、 环境准备:

    1、python的web自动化环境

    selenium的安装:pip install selenium;

    chromediver的下载及环境配置:下载的chromediver的驱动需与本地的谷歌浏览器版本相对应,并安装Python的路径中Scripts目录中;

    2、pywinauto的安装

    Pywinauto:python中的一个用于操作windows下GUI程序的库,可以用来做PC自动化,web自动化可以借助它来实现文件上传;

    安装命令:pip install pywinauto

    二、selenium的基本使用

    使用selenium打开浏览器访问页面

    from selenium import webdriver

    driver = webdriver.Chrome()

    url = r"https://www.layui.com/demo/upload.html"

    driver.get(url)

    time.sleep(2)

    三、文件窗口上传的文析

    1、对windows系统弹窗进行文件上传的操作【如下图所示】,具体分析:

    文件路径的填写;

    文件名的填写;

    文件名填写后点击“打开”

    2、实现文件上传的具体步骤:

    借用python中的pywinauto模块中Desktop库(Desktop库的作用:对windows系统桌面进行操作),则需导入相对应的模块:from pywinauto import Desktop

    借助控件精灵:ViewWizard,ViewWizard的作用:获取窗口的控件信息;

    3、文件上传具体代码实现:

    from selenium import webdriver

    import time

    from pywinauto import Desktop   #导入Desktop库,实现对windows系统桌面进行操作

    from pywinauto.keyboard import send_keys   #导入send_keys库,实现模拟键盘操作

    #打开浏览器与访问网页

    driver = webdriver.Chrome()

    url = r"https://www.layui.com/demo/upload.html"

    driver.get(url)

    time.sleep(2)

    #获取上传图片的定位元素

    driver.find_element_by_xpath(‘//button[@id="test1"]‘).click()

    app = Desktop()  #创建操作桌面的对象

    dlg = app["打开"]   #获取弹窗的窗口标题

    #dlg.print_ctrl_ids()   打印窗口的所有控件信息

    dlg["地址: xiaominToolbar"].click()   #获取文件路径填写输入框并点击

    send_keys("D:\图片")     #在文件路径填写输入框输入文件存在的路径

    send_keys("{VK_RETURN}")  #输入文件路径后按回车键

    dlg["文件名(&N):Edit"].type_keys("小小.jpg")  #获取文件名输入框并填写文件名

    dlg["打开(&O)"].click()  #获取“打开”控件并点击

    time.sleep(3)

    driver.close()

    额外知识:

    实现多文件上传时,在多文件上传时,需单引号(‘’)括起并文件名与文件名之间需用空格隔开,再最后一个文件名后添加一个空格;

    dlg["文件名(&N):Edit"].type_keys(‘"小小.jpg" "小.jpg" ‘)

    展开全文
  • python实现web自动化常用方法 通过class_name执行翻页 wb = webdriver.Firefox() wb.get(“https://www.baidu.com/s?ie=utf-8&f=8&rsv_bp=1&rsv_idx=1&tn=06074089_9_pg&wd=%E5%B0%8F%E8%AF%B4&...

    python实现web自动化常用方法
    通过class_name执行翻页
    wb = webdriver.Firefox()
    wb.get(“https://www.baidu.com/s?ie=utf-8&f=8&rsv_bp=1&rsv_idx=1&tn=06074089_9_pg&wd=%E5%B0%8F%E8%AF%B4&rsv_pq=e4252067000f0f00&rsv_t=927eo6WbBvfHJr7CXHjAprEagd2hsZw%2Be6ijodw3ag%2BVtqkXq%2BoQJhF6KsKhTm4tvhsCHg&rqlang=cn&rsv_enter=0&rsv_dl=tb&rsv_sug3=10&rsv_sug1=10&rsv_sug7=101&inputT=3608&rsv_sug4=4192”)
    wb.find_element_by_class_name(“n”).click()
    3.通过name来进行页面登录
    4.通过tag_name来执行
    5.通过link_text执行标签检索并进入
    在这里插入图片描述

    6.通过partial_link_text执行标签检索并进入(模糊查询)
    在这里插入图片描述

    7.通过xpath地址进入详情(使用inspect in FirePath进行来选择元素并选择xPath路径地址并复制,粘贴到代码的xPath路径中)

    8.通过css_selector选择器定位,查看元素,选择元素,点击列表中的item的标题,将选中的右键选择唯一选择器进行复制
    driver = webdriver.Firefox()
    driver.get(“http://www.ziroom.com/z/z1/?utm_source=baidu&utm_medium=cpc&utm_term=%E8%87%AA%E5%A6%82&utm_content=ZFDYBJ17721&utm_campaign=PC-ZFJHBJ41”)
    list = driver.find_elements_by_css_selector(“div.item> div:nth-child(2) > h5:nth-child(1) > a:nth-child(1)”)
    9.通过使用find_elements_by_css_selector查找当前列表所有的标题以及连接地址,查看元素,选择元素,点击列表中的item的标题,将选中的右键选择唯一选择器进行复制,将div.item后的:以及nth - child(2)删除,列出当前列表所有的
    driver = webdriver.Firefox()
    driver.get(“http://www.ziroom.com/z/z1/?utm_source=baidu&utm_medium=cpc&utm_term=%E8%87%AA%E5%A6%82&utm_content=ZFDYBJ17721&utm_campaign=PC-ZFJHBJ41”)
    list = driver.find_elements_by_css_selector(“div.item> div:nth-child(2) > h5:nth-child(1) > a:nth-child(1)”)
    for x in list:
    print(“标题是:”,x.text)
    print(x.get_attribute(‘href’))
    10.页面表单切换(比如其他页面值都是动态值,通过tag_name来进行查找,用switch_to.frame(进行切换)

    11.xml类:

    <?xml version="1.0" standalone="yes"?> 17339333520 fan_33520 李建国_ljg lijianguo123

    解析类:解析成列表
    from xml.dom.minidom import parse
    class Read():
    def rd(self):
    rootuser = parse(“users.xml”)
    records = rootuser.documentElement
    record = records.getElementsByTagName(“RECORD”)
    for x in record:
    username = x.getElementsByTagName(“username”)[0]
    print(username.childNodes[0].data)
    passwords = x.getEle

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    展开全文
  • web自动化的学习过程中,我们必须要知道一些前端的东西,这里扩展一下: http://www.w3school.com.cn/js/jsref_pop.asp 尝试: 把find_elements_by_css_selector('input[type=checkbox]').pop().click() 中的...

    本节要解决的问题:

    如何定位一组元素?

    场景

    从上一节的例子中可以看出,webdriver可以很方便的使用findElement方法来定位某个特定的对象,不过有时候我们却需要定位一组对象,

    这时候就需要使用findElements方法。

    定位一组对象一般用于以下场景:

    · 批量操作对象,比如将页面上所有的checkbox都勾上

    · 先获取一组对象,再在这组对象中过滤出需要具体定位的一些对象。比如定位出页面上所有的checkbox,然后选择最后一个

    Checkbox

    checkbox

    checkbox1

    checkbox2

    checkbox3

    radio

    radio

    将这段代码保存复制到记事本中,将保存成checkbox.html文件。(注意,这个页面需要和我们的自动化脚本放在同一个目录下)

    第一种方法:

    通过浏览器打个这个页面我们看到三个复选框和两个单选框。下面我们就来定位这三个复选框。

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

    from selenium import webdriver

    import time

    import os

    dr = webdriver.Firefox()

    file_path =  'file:///' + os.path.abspath('checkbox.html')

    dr.get(file_path)

    # 选择页面上所有的input,然后从中过滤出所有的checkbox并勾选之

    inputs = dr.find_elements_by_tag_name('input')

    for input in inputs:

    if input.get_attribute('type') == 'checkbox':

    input.click()

    time.sleep(2)

    dr.quit()

    你可以试着把input.get_attribute('type') == 'checkbox' 中的checkbox 变成radio ,那这个脚本定位的会是两个单选框。

    第二种定位方法:

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

    from selenium import webdriver

    import time

    import os

    dr = webdriver.Firefox()

    file_path =  'file:///' + os.path.abspath('checkbox.html')

    dr.get(file_path)

    # 选择所有的checkbox并全部勾上

    checkboxes = dr.find_elements_by_css_selector('input[type=checkbox]')

    for checkbox in checkboxes:

    checkbox.click()

    time.sleep(2)

    # 打印当前页面上有多少个checkbox

    print len(dr.find_elements_by_css_selector('input[type=checkbox]'))

    time.sleep(2)

    dr.quit()

    第二种写法与第一种写法差别不大,都是通过一个循环来勾选控件;如果你学过上一章的话,细心的你一定发现用的定位函数不一样,

    第一种用的name ,第二种用的CSS 。

    如何去掉勾选:

    还有一个问题,有时候我们并不想勾选页面的所有的复选框(checkbox),可以通过下面办法把最后一个被勾选的框去掉。如下:

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

    from selenium import webdriver

    import time

    import os

    dr = webdriver.Firefox()

    file_path =  'file:///' + os.path.abspath('checkbox.html')

    dr.get(file_path)

    # 选择所有的checkbox并全部勾上

    checkboxes = dr.find_elements_by_css_selector('input[type=checkbox]')

    for checkbox in checkboxes:

    checkbox.click()

    time.sleep(2)

    # 把页面上最后1个checkbox的勾给去掉

    dr.find_elements_by_css_selector('input[type=checkbox]').pop().click()

    time.sleep(2)

    dr.quit()

    其实,去掉勾选表也逻辑也非常简单,就是再次点击勾选的按钮。可能我们比较迷惑的是如何找到“最后一个”按钮。pop() 可以实现这个功能。

    好吧!在web自动化的学习过程中,我们必须要知道一些前端的东西,这里扩展一下:

    http://www.w3school.com.cn/js/jsref_pop.asp

    尝试:

    把find_elements_by_css_selector('input[type=checkbox]').pop().click() 中的checkbox 变成radio 会是什么效果,自己尝试一下吧!

    展开全文
  • 为什么选python?之前的菜鸟系列是基于java的,一年没学其实也忘的差不多了,目前所测的产品部分也是python写的,而且团队也在推广python ,其实就测试人员来说,python也...selenium + python自动化测试环境搭建 ...
  • 本节要解决的问题:如何定位一组元素?场景从上一节的例子中可以看出,webdriver可以很方便的使用findElement方法来定位某个特定的对象,不过有时候我们却需要定位一组对象,这时候就需要使用findElements方法。...
  • 知识点:·打印URL·将浏览器最大·设置浏览器固定宽、高·操控浏览器前进、后退打印URL上一节讲到,可以将浏览器的title打印出来,这里再讲个简单的,把当前URL打印出来。其实也没啥大用,可以做个凑数的用例。#...
  • jenkins+selenium可以做到对web自动化的持续集成。 Jenkins的基本操作: 一、新建视图及job 新建视图: 新建job: 可以选择构建一个自由风格的软件项目或者复制已有的item 二、准备工作...
  • 平台搭建: ...前一篇中已经介绍,如果你也想体验一下自动化魅力,那就赶快搭建自己的环境吧~! 第一个脚本: 下面看看python穿上seleniumwebdriver是多么的性感: 1、打开百度 # coding = utf-8 ...
  • 对象的定位应该是自动化测试的核心,要想操作一个对象,首先应该识别这个对象。一个对象就是一个人一样,他会有各种的特征(属性),如比我们可以通过一个人的身份证号,姓名,或者他住在哪个街道、楼层、门牌找到这...
  • 对于一个现代的web应用,经常会出现框架(frame)或窗口(window)的应用,这也就给我们的定位带来了一个难题。 有时候我们定位一个元素,定位器没有问题,但一直定位不了,这时候就要检查这个元素是否在一...
  • ·将浏览器最大 ·设置浏览器固定宽、高 ·操控浏览器前进、后退 打印URL 上一节讲到,可以将浏览器的title打印出来,这里再讲个简单的,把当前URL打印出来。其实也没啥大用,可以做个凑数的用例。 #...
  • web自动化的学习过程中,我们必须要知道一些前端的东西,这里扩展一下: http://www.w3school.com.cn/js/jsref_pop.asp   尝试: 把find_elements_by_css_selector('input[type=checkbox]').pop().click...
  • 本节知识点: 操作对象: ... ··send_keys在对象上模拟按键输入 ··clear清除对象的内容,如果可以的话 WebElement另一些常用方法: ...··text获取该元素的文本 ...===============================...
  • PS:可以看到js 可以做selenium 做不到的事情,但是在什么样的自动化的时候才能(或必须)要js帮忙,我还没遇到过。不过js可以selenium完成更强大的功能,这是不容置疑的。 另外,之前没有学过JS ,所以js代码很...
  • 将这段代码保存复制到记事本中,将保存成level_locate.html文件,(注意,这个页面需要和我们的自动化脚本放在同一个目录下)浏览器打开:    这里自制了一个页面,上面有两个文字链接,点击两个链接会弹出...
  • 一、前言最近问我自动化的人确实有点多,个人突发奇想:想从0开始讲解python+selenium实现Web自动化测试,请关注博客持续更新!这是python+selenium实现Web自动化第七篇博文二、Selenium之-PO模型PO 模型:将测试的...
  • 本博客将为各位分享Python Helium库,其是在 Selenium库基础上封装的更加高级的 Web 自动化工具,它能够通过网页端可见的标签、名称来和 Web 进行交互,据说比Selenium库简单50%,Helium库主要功能包括:模拟鼠标...
  • 想了解10行Python代码实现Web自动化管控的代码实例的相关内容吗,不脱发的程序猿在本文为您仔细讲解Python Web自动化管控的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:Python,Web自动化管控,Python,...
  • 目录本博客将为各位分享Python Helium库,其是在 Selenium库基础上封装的更加高级的 Web 自动化工具,它能够通过网页端可见的标签、名称来和 Web 进行交互,据说比Selenium库简单50%,Helium库主要功能包括:模拟...
  • 10行Python代码实现Web自动化管控

    千次阅读 多人点赞 2020-08-09 15:50:28
    本博客将为各位分享Python Helium库,其是在 Selenium库基础上封装的更加高级的 Web 自动化工具,它能够通过网页端可见的标签、名称来和 Web 进行交互,据说比Selenium库简单50%,Helium库主要功能包括:模拟鼠标...
  • Python+Selenium 来实现web自动化 操作浏览器通过selenium来操作 selenium不单单只支持Python(JAVA,RUBY等等) selenium的环境搭建 进入dos界面: pip install selenium 浏览器驱动 selenium操作不同的浏览器,...
  • 主要介绍了10行Python代码实现Web自动化管控的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
  • 在公司可以使用 python自动化测试脚本,提高测试人员的工作效率 ,以下是python 的脚本的qq自动登录案例,希望对于初学者有一定的帮助 代码如下:导入自动化模块from selenium import webdriver#导入强制 等待时间...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,386
精华内容 554
关键字:

python实现web自动化

python 订阅