去除文本框的readonly只读模式的限制 如图所示:去除卡号readonly限制 代码如图所示: js = 'document.getElementById("cardNo").removeAttribute("readonly")' driver.execute_script(js)…
   在做web应用的自动化测试时,定位元素是必不可少的,这个过程经常会碰到定位不到元素的情况(报selenium.common.exceptions.NoSuchElementException),一般可以从以下几个方面着手解决: 1.Frame/Iframe原因定位不到元素: 这个是最常见的原因,首先要理解下frame的实质,frame中实际上是嵌入了另一个页面,而webdriver每次只能在一个页面识别,因此需要先定位到相应的frame,对那个页面里的元素进行定位. 解决方案: 如果ifr…
from selenium.webdriver import ActionChains action = ActionChains(driver) source=driver.find_element_by_xpath("//*[@id='nc_1_n1t']/span")#需要滑动的元素 action.click_and_hold(source).perform()  #鼠标左键按下不放 action.move_by_offset(298,0)#需要滑动的坐标 action.rele…
尝试使用python + selenium + pycharm 做自动化测试, 命令行pip install selenium 安装了selenium.但是使用pycharm 新建一个测试项目后并新建一个test01.py 文件 在文件中导入selenium 包,from selenium import webdriver 提示报错 Unresolved reference 'webdriver'.就是pycharm 找不到selenium模块导致的. 分析查找原因: pycharm 新建tes…
记一次python + selenium小项目出现的问题与解决办法 如何接入代理 def crawl_xdaili(self):#代理 可不用 需要时 解除注释 """ 获取讯代理 :return: 代理 """ url = '寻代理的api接口 自己去讯代理官网' r = requests.get(url) if r: result = json.loads(r.text) proxies = result.get('RESULT') for…
前段时间,笔者忙于应付公司组织的雅思考试,白天.晚上但凡有空,笔者都是埋头伏案,啃剑桥雅思(剑4~剑12)的官方模拟题或者做着与雅思考试相关的准备工作,这个过程持续了40余天.最近总算鼓起勇气走进考场,跟那些尚未毕业.怀揣出国梦想的小年轻同场竞争,虽然结果还未出来,但是至少短时间不用再高强度复习英语了,笔者工作重心得以回归到Python +Selenium的自动化中. 言归正传,笔者这次准备利用JavaScript来修改页面节点的属性,方便selenium传参.具体案例是这样的: 下图所示的页面…
感谢:小琰子 Python+Selenium 脚本中的一些js的用法汇总: 1.滚动条 driver.set_window_size(500,500) js = "window.scrollTo(0,200)" #左:距左边横滚.右:距上边竖滚driver.execute_script(js) 2.获取元素的值 button = driver.find_element_by_css_selector("#su") #定位按钮 input = driver.find_…
使用python+selenium运行自动化脚本时,打印某一段文字出现UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: ordinal not in range(128)报错. 原因:编码未进行转换. 解决方式:print时,在后面加上encode("utf-8")即可. 例如: tx = driver.find_element_by_xpath(".//*[@id='1']/…
需求:使用python selenium来自动测试一个网站注册的流程. 假设这个网站的注册流程分为三步,需要提供比较多的信息: 在这个流程里面,需要用户填入信息.在下拉菜单中选择.选择单选的radio button.多选框等等比较复杂的页面元素操作. 在开始做的时候,我会按照一个用户真正的填写习惯,参照页面,一步步的定义每个步骤应该进行怎样的操作,我需要查看每一个页面元素的属性,决定选择一个合理的选项,然后再用代码自动化这样的操作.但是反思一下,其实这样的实现方法并不符合一个计算机自动测试的习惯…
由于网页自动化要操作浏览器以及浏览器页面元素,这里笔者就将浏览器及页面元素常用的函数及变量整理总结一下,以供读者在编写网页自动化测试时查阅. from selenium import webdriver driver=webdriver.Firefox() driver.get(r'http://www.baidu.com/') print 'driver attributes:' print dir(driver) elem=driver.find_element_by_id('kw') pr…