python+selenium 元素被定位到而且click()也提示执行成功,但是页面就是没有变化和跳转. 如果多次定位和click(),有时候会跳转. 我遇到很多次就是很郁闷,有人说,操作太快的,页面的元素还没加载出来, 我觉得这是不存在的的,因为我用了隐式等待,driver.implicitly_wait(10). 最后我我发现,在定位元素之前加上sleep(1),这个问题就完美的被解决了. 问题基本定位到了. 原因是, WebElement.click() 之后,没有留足够的时间,就把页面…
先说一下可能用到的一些python知识 一.python中使用的是unicode编码, 而日常文本使用各类编码如:gbk utf-8 等等所以使用python进行文字读写操作时候经常会出现各种错误, 一般都是操作时没有进行转码操作.而转码则需要decode(解码)和encode(编码)方法. 如: str1.decode('gbk'), 表示将gbk编码的字符串'str1'转换成unicode编码. str2.encode('gbk'), 表示将unicode编码的字符串'str2'转换gbk编…
上两篇的博文中介绍了python selenium的环境搭建和编写的第一个自动化测试脚本,从第二篇的例子中看出来再做UI级别的自动化测试的时候,有一个至关重要的因素,那就是元素的定位,只有从页面上找到这个元素,我们从能对这个元素进行操作,那么我们下来看看如何来定位元素. selenium 提供了8中元素定位的方法(大家要学习元素的定位,首先可以学习下前端的基础知识,这样有利于我们学习自动化测试,大家可以看一下:http://www.runoob.com/) find_element_by_id…
在日常的网页源码中,我们基于元素的id去定位是最万无一失的,id在单个页面中是不会重复的.但是实际工作中,很多前端开发人员并未给每个元素都编写id属性.通常一段html代码如下: <div class="sui-tips s-isindex-wrap sui-tips-exceedtipnews" style="display: none; width: auto;"><div class="sui-tips-arrow" st…
定位元素,selenium提供了8中元素定位方法: (1)find_element_by_id() :html规定,id在html中必须是唯一的,有点类似于身份证号 (2)find_element_by_name() :html规定,name用来指定元素的名称,有点类似于人名 (3)find_element_by_tag_name() :通过元素的签名来定位 (4)find_element_by_class_name() :html规定,class指定元素的类名 (5)find_element_…
报错1: selenium.common.exceptions.WebDriverException: Message: Element is not clickable at point (82, 12). Other element would receive the click:<div id="jbox-fade" class="jbox-fade" style="position: absolute; height: 873px; widt…
在Web应用中经常会遇到frame/iframe 表单嵌套页面的应用,WebDriver 只能在一个页面上对元素识别与定位,对于frame/iframe 表单内嵌页面上的元素无法直接定位.这时就需要通过switch_to.frame()方法将当前定位的主体切换为frame/iframe 表单的内嵌页面中:如下两个例子:1 . 163邮箱登入界面:https://mail.163.com/2 .电信话费查询界面:https://uac.10010.com/portal/mallLogin.jsp?…
1.利用ID定位元素(能直接通过ID来定位的元素比较少) # coding=utf-8from selenium import webdriverdriver = webdriver.Chrome()driver.maximize_window()url = ("http://www.baidu.com")driver.get(url)try:    driver.find_element_by_id("kw")    print('test pass: ID fo…
1. 一般webdriver要操作页面元素需要在Top Window的状态下,如下: 2.当浏览器显示iframe时,用正常的元素定位是没有效果的,需要将页面装换到iframe下再对页面元素进行操作 driver.switch_to.frame("iframe")driver.find_element_by_xpath(".//*[@id='detailForm']/div[3]/div/input").get_attribute("value"…
XPath 语法 XPath 使用路径表达式来选取 XML 文档中的节点或节点集.节点是通过沿着路径 (path) 或者步 (steps) 来选取的. XML 实例文档 我们将在下面的例子中使用这个 XML 文档. 实例 <?xml version="1.0" encoding="UTF-8"?> <bookstore>      <book>                 <title lang="eng&qu…