当前位置: 首页 > news >正文

做网站的实践报告网站可以做砍价软件吗

做网站的实践报告,网站可以做砍价软件吗,网站百度云链接,网站制作实例教程接上篇自动化测试环境搭建#xff0c;现在我们介绍 webdriver 对浏览器操作的 API。 2、 页面元素定位 通过自动化操作 web 页面#xff0c;首先要解决的问题就是定位到要操作的对象#xff0c;比如要模拟用户在页面上的输入框中输入一段字符串#xff0c;那就必须得定位到…      接上篇自动化测试环境搭建现在我们介绍 webdriver 对浏览器操作的 API。 2、 页面元素定位 通过自动化操作 web 页面首先要解决的问题就是定位到要操作的对象比如要模拟用户在页面上的输入框中输入一段字符串那就必须得定位到这个输入框然后才能输入。这些对象也可以称为页面的元素每个元素都会有很多属性可以根据不同属性来定位元素。       Web 中常见元素有文本输入框、单选框、复选框、按钮、下拉框等每个元素又提供了很多属性比如 id、name、文本等。 Webdriver 提供了这些元素的定位方法主要有以下几种 idnameclass namelink textpartiallink texttag namexpathcssSelector 2.1 id 定位 1、 打开 LMD 系统后台,输入邮箱地址及密码。 图 2页面元素 id 脚本如下 #codingutf-8from selenium import webdriver driverwebdriver.Firefox()driver.get(http://www.chuangyijia.com/admin/login)driver.find_element_by_id(email).send_keys(lib163.com) driver.find_element_by_id(password).send_keys(password)#codingutf-8       该句表示编码格式主要为了防止后期执行乱码。 from selenium import webdriver       从 selenium 的包中导入 webdriver 的函数。 driverwebdriver.Firefox()       通过 webdriver 的 firefox 打开一个 firefox 浏览器firefox 也可以是其他浏览器比如 IE chrome 等然后将打开后的浏览器操作句柄赋给 driver 变量 变量名可以自己定义注意后面对浏览器的操作都会用到这个对象。 driver.get(‘http://www.chuangyijia.com/admin/login’)       通过 webdriver 的 get 方法让浏览器重定向到 LMD 的 url 地址。 driver.find_element_by_id(‘password’).send_keys(‘password’)       这两句的定位方式相同从图 2 中可以看到邮箱和密码都是 input并且都 有很多属性在这些属性中就有 id邮箱的 id 为 email password 的 id 为password通过 webdriver 的find_element_by_id()方法定位邮箱和密码输入 框。 Send_keys 是往输入框中输入值。 PS查看页面中元素属性可以通过 firefox 浏览器的查看元素方式查看在页面中选择你要查看的元素右键找到“查看元素”则可以在浏览器下方看 到该元素的属性信息。 如图 3 图 3页面元素定位 2.2 name 定位 除了上述的 id 方法还可以通过 webdriver 的 find_element_by_name()来 定位邮箱地址的输入。例如 driver.find_element_by_name(email).send_keys(test163.com)执行该条命令也可以在邮箱输入框中输入邮箱地址password 输入框一 样主要是观察该元素是否有 name 属性及 name 属性的值。 PS如果该页面中存在多个元素都包含 name 属性并且属性值相同 则该方法无法定位到该元素。 2.3 tag name 定位 tag name在一个页面中每个元素都是一种标签列入上面用到的邮箱地址 和密码都是 input那么他们的 tag name 就是 input如果想要使用 tag name 来定位一个元素最好确定该页面叧有这一个标签如果是多个则会定位出一组元素那么 webdriver 将不知道你要操作的究竟是哪个所以这种状况下就不能使用 tag name 来定位了。在这个登陆界面中叧有一个登陆按钮标签为 button 这个标签在这个页面中叧有一个我们可以用 tag name 来定位该元素代码如下 driver.find_element_by_tag_name(button).click()注click()点击的意思 2.4 Class name 定位 在查看元素中除了看到了 tag name、id、name 等属性外还有其他属 性比如 class 属性接下来我们通过 class 来定位要操作的对象。       在登陆成功以后页面上的左上角有一个 LMD 系统的图片头点击该图片 可以回到管理界面的首页在这里我们通过 class 来定位从下图中可以看到它的标签为 span有一个 class 属性属性值为 first定位代码如下 driver.find_element_by_class_name(first).click()2.5 css 定位 css 是 Cascading Style Sheet 的缩写 是用于增强控制网页样式并允 许将样式信息不网页内容分离的一种标记性语言。 Css 本身是使用选择器来定 位元素并对 html 中元素进行格式化。 Selenium 也可以利用 css 的选择器进行选择被操作元素操作相对上面几种定位方式而言更加灵活。       例如定位之前登陆页面的邮箱和密码使用 css 来定位代码如下 driver.find_element_by_css_selector( #emai).send_keys(lib1 63.com)其中#email 为 css 选择器选择方式以#来标示说明在这里 css 通过该 元素的 id 来选择的。       通过 css 来定位登陆页面中的登陆按钮代码如下 driver.find_element_by_css_selector(.btn).click()在 find_element_by_css_selector()函数来实现定位将定位元素的 css 诧 句放入参数位置。       通过 css 选择器方式定位邮箱输入框 driver.find_element_by_css_selector(input[nameemail] ).clear()通过 css 方式定位登陆按钮 driver.find_element_by_css_selector(button.btn).click() css 的定位方式很多也狠灵活这里介绍了几种常见操作。如果对 css 选择器定位不是很理解可以借助 firefox 浏览器的功能完成 css 定位例如在登陆界面中 不知道如何使用 css 定位登陆按钮则可以参考如下操作       在登陆页面鼠标选中登陆按钮右键查看元素在下方开发者工具栏中鼠标 选中登陆的代码右键选择复制唯一选择器然后将复制的内容粘贴到find_element_by_css_selector()的方法中即可。       也可以参考 css 样式的选择器方法。 2.6 xpath 定位 什么是 xpath是一门在 XML 文档中查找信息的语言。 XPath 可用来在 XML 文 档中对元素和属性进行遍历。XPath 是 W3C XSLT 标准的主要元素 并且 XQuery 和 XPointer 都构建于 XPath 表达之上。因此对 XPath 的理解是很多高级 XML 应用的 基础。       因为 html 可以看作另一种形式的 xml所以 selenium 也可以通过 xpath 定位页面 元素 xpath 扩展了常规 web 元素属性的定位方式提供了更多的操作方式。       通过 xpath 方式定位登陆页面的邮箱和密码 driver.find_element_by_xpath(//input[idemail]).send_key s(lib163.com) 定位到当前页面的 input 属性 在获取该类属性中 id 为 email 的。driver.find_element_by_xpath(//input[idpassword]).send_ keys(123456)通过 xpath 的层级定位方式定位登陆页面的登陆按钮 driver.find_element_by_xpath(//form[idlogin]/button).click()先定位到 button 的上级属性 button 是属于 form 元素的下级元素 定位到 id 为 login 的 form然后查找 form 下的 button在这个页面 中 id 为 login 的 form 下只有 1 个 button所以这里这么写是可以 的如果这里 form 下有多个 button则需要其他方式了。通过 xpath 定位时如果通过上级元素来定位它的子元素而子元素又有多个标签是相同的就像上面的案例中如果有 form 中有多个 button 标签则会出错。       下面通过 xpath 的层级定位方式来定位邮箱和密码邮箱和密码的标签都是 input他们的上级标签为 form那么先定位上级的 form通过//form[id”login”]来定位form。如果此时通过//form[id”login”/input]来定位邮箱戒密码则会出现问题webdriver 会发现该 form 下有多个 input因此不知道用户究竟要操作哪个则可以按照下列方法定位邮箱和密码标签都是 input邮箱为第一个 input密码为第二个input则代码如下 driver.find_element_by_xpath(//form[idlogin]/input[1]). send_keys(lib163.com) 定位 id 为 login 的 form并操作该 form 下的第一个 input即邮箱 地址的输入框driver.find_element_by_xpath(//form[idlogin]/input[2]). send_keys(lib163.com) 定位 id 为 login 的 form并操作该 form 下的第二个 input即密码 地址的输入框Xpath 中除了可以用 id 之外也可以使用其他属性例如 driver.find_element_by_xpath(//input[nameemail]).send_k eys(lib163.com) 这里是通过 xpath定位 name 为 email 的输入框。利用 xpath 通过页面元素上的文本来定位操作对象。 driver.find_element_by_xpath(//button[contains(text(),登录 )]).click() 定位元素标签为 button并且该标签上的文字为“登录”.2.7 Link text 定位 在页面定位元素时有时候定位对象不是一个文本框也不是按钮而是一个超链接此时我们可以通过 link text 方式定位对象。       例如在 LMD 系统中登录成功之后点击待审核创意后会出现项目管理 以及项目管理中的子功能列表而列表是通过超链接方式实现的想要点击预售管理 时通过文字定位无疑是最容易看懂该步骤在做什么代码如下 from selenium import webdriver 导入 selenium 的 webdriver 模块driverwebdriver.Firefox() 打开 firefox 浏览器driver.get(http://www.chuangyijia.com/admin/login) 打开 LMD 后台登陆页面 sleep(2) 等待2秒driver.find_element_by_xpath(//form[idlogin]/input[1]). send_keys(lib163.com) 输入登陆的邮箱地址driver.find_element_by_xpath(//form[idlogin]/input[2]). send_keys(12345678) 输入登陆密码driver.find_element_by_xpath(//form[idlogin]/button).click() 点击登陆按钮 driver.find_el ement_by_css_selector(#dashboard-menu li:nth-child(2) a:nth-child(1)).click() 这里是通过 css 方式定位点击待审核创意driver.find_element_by_link_text(预售管理).click() 点击待审核创意后页面会出现图 4 的页面这里是点滴子功能列表中的预售管理。图 4 2.8 partialinktext 定位 在页面通过文本定位超链接时有些链接文本很长selenium 的 webdriver 提供了可以通过匹配链接中的部分文本来定位该元素则通过find_element_by_partialink_link_text()方法来定位该元素。       例如在 LMD 系统登陆后点击待审核创意后可以看到项目管理及项目管理的子功能在子功能中想点击预售订单管理用 link_text 方法时需要将所有文本都写上去而 partialink_link_text()时可以叧写部分文本代码如下 driver.find_element_by_partial_link_text(售订单).click() 在点击待审核创意之后会显示项目管理及项目管理子功能在此页 面中只有预售订单管理 的文本中包含“售订单”字符可以用partial_link_text 方法来定位该元素。2.9 check box 定位 在 web 页面的元素中还会有单选框和复选框的操作。下列代码是对百度的设置中的搜索设置页面的操作将“是否希望在搜索时显示搜索框提示”设 置为不显示下面的代码稍微复杂了一些牵扯到还没有讲到的内容这里先简单介绍下 from selenium import webdriver 导入 webdriverfrom selenium.webdriver.common.action_chains importActionChains 因为百度的设置页面比较特殊 需要将鼠标放到设置上然后才会显示下拉框才能从下拉框中选择搜索设置所以需要用到鼠标的操作 这里就需要导入鼠标操作的模块driverwebdriver.Firefox() driver.get(https://www.baidu.com) 打开百度页面setingdriver.find_element_by_link_text(设置) 找到设置所在的位置ActionChains(driver).move_to_element(seting).perform() 将鼠标移动到设置上 driver.find_element_by_link_text(搜索设置).click() 点击搜索设置 sleep(1) driver.find_element_by_xpath(//label[contains(text(),不显示 )]).click() 点击搜索设置中的不显示的单选框也可以使用 xpath 的方式定位到单选框 直接点击 driver.find_element_by_xpath(//label[fors1_2]).click()2.10 下拉框定位 在 web 页面中进行各种操作时无法避免要对下拉框进行操作下面对LMD 后台管理中对创意进行查询时查询条件就是通过下拉框来操作页面如下 下面通过 selenium 的 webdriver对审核状态下拉框的处理在下拉框中选择定价。       代码如下登陆代码没有贴上来这里是登陆后的操作代码 driver.find_element_by_css_selector(#dashboard-menu li:nth-child(2) a:nth-child(1)).click() 点击登陆后页面中的待审核创意driver.find_element_by_css_selector(select.span1:nth-child(8)).click() 定位到下拉框然后点击点击后会显示该下拉框中所有选项。driver.find_element_by_xpath(//option[contains(text(),定价 )]).click() 在下拉框的所有选项中找到定价。第二种方式 check_statusdriver.find_element_by_xpath(//select[namest atus]) 找到下拉框的元素将操作句柄赋给变量 check_status。check_status.find_element_by_xpath(//option[value8]).cl ick() 通过操作句柄 check_status 来选择下拉框中的选项
http://www.zqtcl.cn/news/995780/

相关文章:

  • 专业企业网站建设公司成都的网站
  • 广东省建设教育协会官方网站首页怎么设置wordpress头像
  • 图书网站建设论文页游中心
  • 建网站的流程及注意事项任务网站建设
  • 河北邯郸做网站的公司哪家好辽源市住房和城乡建设局网站
  • 网站系统建设技术服务费安康市网站建设
  • 网络运行管理系统seo关键词优化方法
  • 西安学校网站建设价格徐州网页关键词优化
  • 上海哪个网站能应聘做家教的营销网站中最重要的部分是
  • 一个设计网站多少钱WordPress的简约博客主题
  • 普通的宣传网站用什么做济南市工程建设技术监督局网站
  • 合肥网站建设公司还有不dw如何制作表格网页
  • 讯美智能网站建设自己域名做网站
  • 自己做网站优化韩国外贸平台
  • 齐河建设局网站长沙市住房和建设局官方网站
  • 萧山区住房和城乡建设局网站wordpress网站合并
  • 做背景网站网站建设与维护制作网页
  • 网站建设公司知名营销型企业网站项目策划表
  • 写作网站哪个最好企业培训机构有哪些
  • 江苏省水利工程建设局网站域名不备案可以正常使用吗
  • 对网站开发语言的统计网站内容建设包括什么
  • 西安高端网站建设怎样开公司
  • 华为做网站免费签名设计在线生成
  • 网站产品整合推广爱网聊的男人是什么心理
  • 武威市建设厅网站汕头seo外包公司
  • 酒泉网站怎么做seo东莞高明网站设计
  • 沧州网站建设联系电话杭州设计公司logo
  • 网站子站点是什么意思亚马逊国际站官网
  • 影视cms哪个好苏州关键词优化搜索排名
  • 杭州微信网站开发网站优化公司免费咨询