本机环境:xamppv3.2.1+ecshop3.0  
1.元素定位写对,却一直报错,发现是页面元素加载的太慢,所以加上延时 from selenium import webdriver
import time
driver=webdriver.Chrome()
driver.implicitly_wait(10) #自动延时10s
driver.get("http://localhost/ecshop")
# driver.find_element_by_xpath('//div[@class="fl cart-yh"]/a').click()
driver.find_element_by_xpath("//a[@href='user.php']").click() # 登陆
driver.find_element_by_name("username").send_keys("zach")
driver.find_element_by_name('password').send_keys("123456")
driver.find_element_by_name("submit").click()
# 选择商品
time.sleep(3)
driver.find_element_by_xpath("//img[@src='images/201605/thumb_img/72_thumb_G_1462956048008.jpg']").click()
driver.find_element_by_xpath("//img[@src='themes/default/images/buybtn1.png']").click() #立即购买
# driver.find_element_by_xpath("/html/body/div[6]/div[1]/table/tbody/tr/td[2]/a/img").click() #结算
driver.find_element_by_xpath("//img[@src='themes/default/images/checkout.gif']").click() #选择城市 下拉框 1.两次定位 2.xpath 定位层级标签
province = driver.find_element_by_name("province")
province.find_element_by_xpath("//option[@value='5']").click()
city = driver.find_element_by_id("selCities_0")
city.find_element_by_xpath("//option[@value='50']").click() driver.find_element_by_xpath("//select[@name='district']/option[3]").click() driver.find_element_by_id("consignee_0").send_keys('张三')
driver.find_element_by_id("address_0").send_keys("深圳市宝安区")
driver.find_element_by_id("tel_0").send_keys("18888888888")
driver.find_element_by_class_name("bnt_blue_2").click()
#付款
time.sleep(3)
driver.find_element_by_xpath("//input[@name='shipping' and @value='5']").click() driver.find_element_by_xpath("//*[@id='paymentTable']/tbody/tr[4]/td[1]/input").click()
driver.find_element_by_xpath("//input[@src='themes/default/images/bnt_subOrder.gif']").click()

selenium自学笔记---ecshop购买脚本 xpath定位元素(下拉框,单选框)的更多相关文章

  1. 『心善渊』Selenium3.0基础 — 6、Selenium中使用XPath定位元素

    目录 1.Selenium中使用XPath查找元素 (1)XPath通过id,name,class属性定位 (2)XPath通过标签中的其他属性定位 (3)XPath层级定位 (4)XPath索引定位 ...

  2. Python selenium PO By.XPATH定位元素报错

    Python selenium PO  By.XPATH定位元素报错 如下代码经常报错: # 首页的“新建投放计划”按钮 new_ads_plan = (By.XPATH, "//*[tex ...

  3. Robot Framework与Web界面自动化测试学习笔记:利用xpath定位元素

    在rf中,利用selinum2的关键字进行用例编写时,很多关键字的参数是html元素的定位标识. 最简单的方式,是通过id 或name来描述元素定位信息,如 click  button    id=l ...

  4. Selenium-Python学习——通过XPath定位元素

    用Xpath定位元素的方法总是记不住,经常要翻出各种文档链接参考,干脆把需要用到的内容整到这个笔记中方便查找. Xpath是在XML文档中定位节点的语言.使用 XPath 的主要原因之一是当想要查找的 ...

  5. 【appium】根据xpath定位元素

    1. 背景 本文尝试使用的试验对象是SDK自带的NotePad应用实例,假设已经有两个Notes分别是“note1”和“note2”添加到Notepad上面,我们要做的就是尝试用xpath的方法来定位 ...

  6. 初探UiAutomator2.0中使用Xpath定位元素

    J 今天的主题是讲一下在使用过程中遇到的一个问题,如何在UiAutomator2.0中使用Xpath定位元素? 背景 现在的app在打包成apk的时候都是有加固处理的,各种混淆加固,所以已经破坏了或扰 ...

  7. Xpath定位元素-一个例子

    前几天在群里面解决的问题,记录下来和大家分享 需要定位这个股份制企业 方法: # 首先需要单击下拉框弹出企业性质的下拉选项:然后用过Xpath定位元素 driver.find.element_by_c ...

  8. selenium webdriver学习(八)------------如何操作select下拉框(转)

    selenium webdriver学习(八)------------如何操作select下拉框 博客分类: Selenium-webdriver   下面我们来看一下selenium webdriv ...

  9. selenium自学笔记---下拉框定位元素select

    下拉框1.先定位select 然后在定位option city = driver.find_element_by_id("selCities_0") city.find_eleme ...

随机推荐

  1. AMD SATA Download (解决win10 磁盘占用100%问题)

    需要下载的AMD SATA 驱动: 下载AMD SATA https://github.com/StoneIsDeveloper/UsefulTools/blob/master/AMD%20SATA/ ...

  2. Mybatis JdbcType与Oracle、MySql数据类型对

    Mybatis JdbcType Oracle MySql JdbcType ARRAY     JdbcType BIGINT   BIGINT JdbcType BINARY     JdbcTy ...

  3. 搭建自己的docker镜像

    手动构建 1.关键字查找镜像 sudo docker search centos 2.下载基本镜像 sudo docker pull centos 3.启动容器 sudo docker run -d ...

  4. linux 指定用户 启动 程序

    sudo -H -u {username} /bin/bash -c "python test.py &" "&"  后台运行指令 本人亲测可用 ...

  5. Java集合详解6:这次,从头到尾带你解读Java中的红黑树

    <Java集合详解系列>是我在完成夯实Java基础篇的系列博客后准备开始写的新系列. 这些文章将整理到我在GitHub上的<Java面试指南>仓库,更多精彩内容请到我的仓库里查 ...

  6. Linux上使用yum安装openjdk

    来源:https://www.cnblogs.com/yaun1498078591/p/10368884.html 使用yum查找jdk: yum search java|grep jdk # yum ...

  7. linux ffmpeg 源码安装教程

    AMR格式是智能手机上的常用音频文件格式,比MP3格式的压缩比大.同样时长的AMR文件大概是MP3的十分之一,所以在移动互联项目中应用比较广泛.但目前AMR格式在个人电脑上应用较少,所以目前大部门播放 ...

  8. javascript的立即执行函数

    在javascript中有引入立即执行函数的概念,那么什么是立即执行函数呢?立即执行函数又是怎么写的呢?立即执行函数与普通函数有什么区别呢? 先来看看一般的函数: function a(){ var ...

  9. 第十节:Asp.Net Core 配置详解和选项模式

    一. 各种文件的读取 1.说明 在.Net Core中,各种配置文件的读取都需要依赖[Microsoft.Extensions.Configuration]程序集,当然在Asp.Net Core中已经 ...

  10. 解决:Java source1.6不支持diamond运算符,请使用source 7或更高版本以启用diamond运算符

    diamond运算符,指的是JDK1.7的一个新特性.Maven默认用的是JDK1.6去编译.所以需要配置成更高的版本,有以下几种解决办法: 1.在项目pom.xml中加入下面的配置即可 <pr ...