zoukankan      html  css  js  c++  java
  • Pycharm+Selenium webdriverPython自动化测试

    这是关于软件测试的一个作业!

    1.Pycharm下载,这里可以自己去官网下载即可:https://www.jetbrains.com/pycharm/download/#section=windows,具体下载流程较为简单(这里推荐百度,比我说的详细)。

    2.Selenium安装,这里采用简单的办法:打开cmd,输入python –m pip install selenium .

     还有第二种方法,直接去官网下载:https://pypi.python.org/pypi/selenium,根据自己电脑下载对应的位数。

    3.安装浏览器驱动,这里我采用的火狐,反正大致方法是一样的:这里还是在:https://pypi.python.org/pypi/selenium下载,

     4.测试是否安装成功,输入以下代码:

    # encoding = utf-8
    from selenium import webdriver
    driver= webdriver.Firefox()
    driver.get("http://www.baidu.com")

    当然,如果你安装selenium成功后,最容易报错的就是“找不到geckodriver”这里我们刚刚下载了

     然后将其解压到:然后即可运行。

    5.第一个demo运行结果如下:

     6.相关操作(这里我直接给出所有代码,较为简单):

    # -*- coding: utf-8 -*-
    from selenium import webdriver
    import time
    driver=webdriver.Firefox()
    driver.get("https://www.baidu.com/")
    time.sleep(5)#定时操作
    driver.refresh()#刷新页面
    driver.get("http://www.4399.com")
    time.sleep(5)
    driver.refresh()
    driver.back()#返回上一页
    time.sleep(3)
    driver.forward()#切回下一页

    这里运行后,先进入百度,然后刷新,然后再进入4399,然后再刷新,然后返回百度,然后再进入4399.大家可以自行运行代码。

    #coding:utf-8
    from selenium import webdriver
    import time
    driver=webdriver.Firefox()
    driver.get("https://www.baidu.com/")
    time.sleep(3)
    #设置窗口大小为手机分辨率540*960
    driver.set_window_size(540,960)
    time.sleep(2)
    #将浏览器窗口最大化
    driver.maximize_window()
     

    这里进入百度,然后将屏幕设置为:540*960,然后再恢复。

    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(5)
    
    # 截取当前窗口,并指定截图图片的保存位置
    driver.get_screenshot_as_file("login_success.png")
    sleep(5)
    
    #退出关闭浏览器
    driver.quit()

    这里进入百度,然后输入在输入框输入selenium,然后点击查询,出现结果后,截取当前页面。

    我这里只给出部分操作。具体更多操作,大家可以自行百度。

    自动化爬取b站数据:

    from selenium import webdriver
    from selenium.webdriver.support.wait import WebDriverWait # 用于实例化一个Driver的显式等待
    from selenium.webdriver.common.by import By # 内置定位器策略集
    from selenium.webdriver.support import expected_conditions as EC # 内置预期条件函数,具体API请参考此小节后API链接
    
    driver = webdriver.Firefox()
    driver.get('https://www.bilibili.com/v/game/esports/?spm_id_from=333.334.primary_menu.35#/9222')
    try:
        WebDriverWait(driver, 20, 0.5).until(EC.presence_of_all_elements_located((By.CLASS_NAME,'vd-list'))) #使用expected_conditions自带验证函数
        for doctorName in driver.find_elements_by_css_selector('.vd-list li'):
            print(doctorName.find_element_by_css_selector('.r > a').text)
    finally:
        driver.close() # close the driver

    结果如下:

  • 相关阅读:
    【题解】【BT】【Leetcode】Populating Next Right Pointers in Each Node
    【题解】【BT】【Leetcode】Binary Tree Level Order Traversal
    【题解】【BST】【Leetcode】Unique Binary Search Trees
    【题解】【矩阵】【回溯】【Leetcode】Rotate Image
    【题解】【排列组合】【素数】【Leetcode】Unique Paths
    【题解】【矩阵】【回溯】【Leetcode】Unique Paths II
    【题解】【BST】【Leetcode】Validate Binary Search Tree
    【题解】【BST】【Leetcode】Convert Sorted Array to Binary Search Tree
    第 10 章 判断用户是否登录
    第 8 章 动态管理资源结合自定义登录页面
  • 原文地址:https://www.cnblogs.com/lh9527/p/9527-14.html
Copyright © 2011-2022 走看看