zoukankan      html  css  js  c++  java
  • selenium-电商Web前台购物流程自动化

    import time
    from selenium import webdriver
    from selenium.webdriver.support.select import Select
    
    # 1.登录
    driver = webdriver.Chrome()
    driver.implicitly_wait(10)
    driver.maximize_window()
    
    driver.get("http://172.0.0.1/index.php?m=user&c=public&a=login")
    driver.find_element_by_id("username").send_keys("yaya")
    driver.find_element_by_id("password").send_keys("123456")
    driver.find_element_by_class_name("login_btn").click()
    
    time.sleep(3)
    
    # 2.点击“进入商城购物”
    driver.find_element_by_link_text("进入商城购物").click()
    
    # 3.搜索“iphone”
    driver.find_element_by_name("keyword").send_keys("iphone")
    driver.find_element_by_class_name("btn1").click()
    
    # 4.点击商品图片
    driver.find_element_by_xpath("/html/body/div[3]/div[2]/div[3]/div[1]/div[1]/a/img").click()
    
    # 5、切换窗口:
    # 5.1.找到新窗口的名字
    new_window = driver.window_handles[-1]
    # 5.2.切换到新窗口、
    driver.switch_to.window(new_window)
    
    # 6.把选择的商品加入购物车
    driver.find_element_by_id("joinCarButton").click()
    
    #7,去购物车结算
    driver.find_element_by_class_name("shopCar_T_span3").click()
    # 点击“结算”
    driver.find_element_by_css_selector(".shopCar_btn_03.fl").click()
    
    # 8.添加新地址
    driver.find_element_by_class_name("add-address").click()
    
    # 9.收货人姓名
    driver.find_element_by_name("address[address_name]").send_keys("yaya")
    
    # 10.输入手机号
    driver.find_element_by_name("address[mobile]").send_keys("13612563478")
    
    # 11.选择收货地区--省
    sheng = driver.find_element_by_id("add-new-area-select")
    Select(sheng).select_by_visible_text("广东省")
    
    # 12.选择收货地区--市
    shi = driver.find_elements_by_class_name("add-new-area-select")[1]
    Select(shi).select_by_visible_text("深圳市")
    
    # 13.选择--地区
    qu = driver.find_elements_by_tag_name("select")[2]
    Select(qu).select_by_visible_text("宝安区")
    
    #14输入街道
    driver.find_element_by_name('address[address]').send_keys('大街1号')
    
    #15.输入邮编
    driver.find_element_by_name('address[zipcode]').send_keys('721405')
    
    #16.点击确定
    driver.find_element_by_xpath("/html/body/div[1]/div/table/tbody/tr[2]/td[2]/div/table/tbody/tr[3]/td/div/button[1]").click()
    

      

    遇见问题:

    1、出现分页,当出现分页时需要把定位的页面进行切换,具体方法:

    # 5.1.找到新窗口的名字,new_window是一个列表,[-1]是定位到最后一个页签
    new_window = driver.window_handles[-1]
    # 5.2.切换到新窗口、
    driver.switch_to.window(new_window)

    2、出现界面有下拉框进行选择时,此时定位不到元素,需要进行转换:

    from selenium.webdriver.support.select import Select

    sheng = driver.find_element_by_id("add-new-area-select")
    Select(sheng).select_by_visible_text("广东省")

    3、当页面打开较慢,存在不稳定性时,需要加延时

    import time

    time.sleep(3)

  • 相关阅读:
    yourphp常用标签
    如何访问他人电脑上的共享文件夹
    Win7如何分享局域网并设置共享文件夹账户和密码
    CLR Via CSharp读书笔记(21):自动内存管理(垃圾回收)
    《Java编程思想》之I/O系统
    WebCore::Node Dump
    java中的IO整理(3)数据操作流合并流压缩流输入输出重定向 老秋的日志 网易博客
    WebKit 分析–for android Braincol 博客园
    JavaScript EE,第 2 部分: 用 Ajax 调用远程 JavaScript 函数
    java中System重定向输出流
  • 原文地址:https://www.cnblogs.com/duyaya/p/10957151.html
Copyright © 2011-2022 走看看