status.html

  1. <html>
  2. <head>
  3. <meta http-equiv="content-type" content="text/html;charset=utf-8" />
  4. <title>status</title>
  5. <script type="text/javascript" async="" src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
  6. <link href="http://netdna.bootstrapcdn.com/twitter-bootstrap/2.3.2/css/bootstrap-combined.min.css" rel="stylesheet" />
  7. <script type="text/javascript">
  8. $(document).ready(function(){
  9. $('#tooltip').tooltip({"placement": "right"});
  10. });
  11. </script>
  12. </head>
  13.  
  14. <body>
  15. <h3>status</h3>
  16. <div class="row-fluid">
  17. <div class="span3">
  18. <input name="user" placeholder="Disabled TextField" disabled />
  19. </div>
  20. <div class="span3">
  21. <a class="btn disabled">Disabled Button</a>
  22. </div>
  23. <div class="span3">
  24. <input name="radio" type="radio" />
  25. </div>
  26. </div>
  27. </body>
  28. <script src="http://netdna.bootstrapcdn.com/twitter-bootstrap/2.3.2/js/bootstrap.min.js"></script>
  29. </html>

  

status.py

  1. # -*- coding: utf-8 -*-
  2. from selenium import webdriver
  3. from time import sleep
  4. import os
  5. if 'HTTP_PROXY'in os.environ: del os.environ['HTTP_PROXY']
  6.  
  7. dr = webdriver.Chrome()
  8. file_path = 'file:///' + os.path.abspath('status.html')
  9. dr.get(file_path)
  10.  
  11. text_field = dr.find_element_by_name('user')
  12. print text_field.is_enabled()
  13.  
  14. # 直接用enabled?方法去判断该button的话返回的会是true
  15. # 这是因为button是使用css方法去disabled的,并不是真正的disable
  16. # 这时候需要判断其class里是否有disabled这值来判断其是否处于disable状态
  17. print dr.find_element_by_class_name('btn').is_enabled()
  18.  
  19. # 隐藏掉text_field
  20. # 判断其是否显示
  21. dr.execute_script('$(arguments[0]).hide()', text_field)
  22. print text_field.is_displayed()
  23.  
  24. # 使用click方法选择raido
  25. radio = dr.find_element_by_name('radio')
  26. radio.click()
  27. print radio.is_selected()
  28.  
  29. # 判断元素是否存在
  30. try:
  31. dr.find_element_by_id('none')
  32. except:
  33. print 'element does not exist'
  34.  
  35. dr.quit()

  执行后会报错,经与乙醇沟通后发现是谷歌被墙导致代码木有完全加载.修改代码如下:

  1. #coing=utf-8
  2.  
  3. from selenium import webdriver
  4. from time import sleep
  5. import os
  6.  
  7. if 'HTTP_PROXY' in os.environ: del os.environ['HTTP_PROXY']
  8.  
  9. dr = webdriver.Firefox()
  10. file_path = 'file:///' + os.path.abspath('status.html')
  11. dr.get(file_path)
  12.  
  13. text_field = dr.find_element_by_name('user')
  14. print( text_field.is_enabled())
  15.  
  16. print(dr.find_element_by_class_name('btn').is_enabled())
  17.  
  18. myjs = 'document.all.user.style.display = "none";'
  19. dr.execute_script(myjs)
  20.  
  21. print( text_field.is_displayed())
  22.  
  23. radio = dr.find_element_by_name('radio')
  24. radio.click()
  25. print(radio.is_selected())
  26.  
  27. try:
  28. dr.find_element_by_id('none')
  29. except:
  30. print('element does not exist')
  31.  
  32. dr.quit()

  

Message: u'$ is not defined' ; Stacktrace的更多相关文章

  1. 浅析"WeixinJSBridge is not defined"

    Fundebug并没有使用微信 JS-SDK,然而却收到了WeixinJSBridge is not defined的报错: 我们的用户也收到了类似的错误报警,并且很多开发者都遇到类似的问题: 我的微 ...

  2. 动态调用WebService

    WebService内容 using Microsoft.CSharp;using System;using System.CodeDom;using System.CodeDom.Compiler; ...

  3. [转]C# 使用Nlog记录日志到数据库

    本文转自:http://www.cnblogs.com/weixing/archive/2013/04/26/3044422.html 摘要]Nlog是一个很不错的.NET日志记录组件,它可以将日志输 ...

  4. 昆仑游戏[JS加密修改]

    昆仑游戏:http://www.kunlun.com/index.html JS加密修改 BigTools=window.BigTools;//重点 RSAKeyPair=window.RSAKeyP ...

  5. WebService创建与使用

    因为项目中需要实现客户端与服务器端的数据交换,以及获取服务器端其他程序的分析结果,所以对WebService做了些简单的了解,现记录如下: 一.WebService程序编写 1.  在VS中新建空白网 ...

  6. 利用C#自带组件强壮程序日志

    在项目正式上线后,如果出现错误,异常,崩溃等情况 我们往往第一想到的事就是查看日志 所以日志对于一个系统的维护是非常重要的 声明 正文中的代码只是一个栗子,一个非常简单的栗子,只是说明这个框架是怎么工 ...

  7. 常见.NET功能代码汇总 (2)

    常见.NET功能代码汇总 23,获取和设置分级缓存 获取缓存:首先从本地缓存获取,如果没有,再去读取分布式缓存写缓存:同时写本地缓存和分布式缓存 private static T GetGradeCa ...

  8. .net WebServer例

    新建.asmx页面 using System; using System.Collections.Generic; using System.Linq; using System.Web; using ...

  9. TScrollBox的用法 滚动事件

    //滚轮事件:ScrollBox1: TScrollBox; procedure TfrmReleateGQAccount.ScrollBox1MouseWheel(Sender: TObject; ...

随机推荐

  1. Unreal Engine 4 反射机制的实现

    转自:http://blog.csdn.net/noahzuo/article/details/51482255 反射机制 反射机制指的是程序可以在运行期间进行检测和修改自己状态的能力. UE4引擎使 ...

  2. javascript的防篡改对象之preventExtensions()方法

    js在默认情况下,所有的对象都是可扩展的.这也是让很多开发人员头特疼的问题.因为在同一环境中,一不小心就会发生修改了不必要的对象,而自己却不知道. 在ECMAScript5可以解决这种问题了. pre ...

  3. Spark学习笔记6:Spark调优与调试

    1.使用Sparkconf配置Spark 对Spark进行性能调优,通常就是修改Spark应用的运行时配置选项. Spark中最主要的配置机制通过SparkConf类对Spark进行配置,当创建出一个 ...

  4. 6.28笔记-servlet3.0注解配置、文件上传、过滤器、监听器

    一.servlet3.0注解配置 使用javaEE6.0 支持servlet3.0 value的值就是访问路径 urlPatterns的值也是访问路径 @WebServlet(name="D ...

  5. bitmap运算

    概述 所谓bitmap就是用一个bit位来标记某个元素对应的value,而key即是这个元素.由于采用bit为单位来存储数据,因此在可以大大的节省存储空间     算法思想 32位机器上,一个整形,比 ...

  6. 报错:ORA-02264

    创建表时报错ORA-02264:名称已被一个现有约束条件占用 查询约束名称“PK_DATASOUCE”,然后删除. SELECT a.* FROM user_constraints a where c ...

  7. SQL SERVER回滚恢复误操作的数据

    在生产数据库做CURD操作时,可能会有执行某条语句误操作的情况发生,针对这个种情况有两点建议: 1. 在SQL SERVER上开启事务确认功能,当执行完语句后确认无误,再提交事务.(开启方法见附件图片 ...

  8. javascript 常用获取页面宽高信息 API

    在页面的构建中 常常会需要获取页面的一些宽高信息,例如实现 惰性加载图片 需要获取页面的可见区域高度 和 已滚动区域的高度,以判断图片所在位置是否可见来决定加载图片的时间, 花点时间整理了一下,获取页 ...

  9. 使用 intellij idea 进行远程调试

    转自:http://yiminghe.iteye.com/blog/1027707 以前都是很土得打 log ,发现一篇关于 java 调试器架构 ,以及 eclipse 上使用 的文章,在常用的 i ...

  10. MYSQL体系结构-来自期刊

    MySQL三层体系结构 |-----------------------------------------------------------------------------------| | ...