之前在做UI自动化测试中 经常会用到  WebDriver  和 WebElement两个类   以前对这两个类总感觉有点傻傻分不清 昨天看了下之前下的代码  结合自己的理解  对着两个类的区别和关系整理一下(欢迎拍砖指正)   希望对这两个类同样有疑惑的同学有帮助 先说Webdriver Webdriver  我理解它是一个浏览器驱动类   封装了浏览器的操作方法 比如: 浏览器的打开关闭,窗口切换,查找元素,获取当前url,获取标题,前进后退等等 WebElement  我理解它是一个元素类…
一.webdriver基本使用命令 from selenium import webdriver # 导入webdriver模块 >>> chrome_obj = webdriver.Chrome() # 打开Google浏览器 >>> chrome_obj.get("https://www.baidu.com") # 打开 网址 >>> chrome_obj.get(r"C:\desktop\text.html"…
package prictce; import java.io.File; import java.io.IOException; import org.junit.After; import org.junit.Before; import org.junit.Test; import org.openqa.selenium.OutputType; import org.openqa.selenium.TakesScreenshot; import org.openqa.selenium.We…
初学自动化测试,貌似大家十有八九都是用百度网站进行练手的,特此感谢百度. http://www.baidu.com 页面中主要就是搜索框和提交按钮: 输入框各元素属性:<input id="kw" name="wd" class="s_ipt" value="" maxlength="255" autocomplete="off"> 主要包括id.name.class等主要属…
等待是为了使脚本执行更加稳定 常用的休眠方式: 1.time模块的sleep方法 :引入from time import sleep 2.implicitly_wait():设置webdriver等待时间, implicitly_wait(5):当找不到时一直会去找,直到超时,当找到了,就不用等待5S,会立即执行 3.WebDriverWait:等待条件满足或者超时后退出 from selenium.webdriver.support.ui import WebDriverWait def ge…
Chrome chrome的webdriver :  http://chromedriver.storage.googleapis.com/index.html chrome的webdriver需要对应chrome版本下载, 不同版本之间可能会出现不兼容情况. Firefox Firefox的webdriver : https://github.com/mozilla/geckodriver/releases/ Firefox的webdriver下载最新的即可. IE IE的webdriver…
刚刚在写Python爬虫的时候用到了selenium , 在跳转新页面时发现无法定位新页面 , 查找不到新页面的元素 一番查询后得到了解决方法 , 便记录下来备忘 , 也与大家分享 # 页面跳转代码... # 方式一 time.sleep(1) search_window = driver.current_window_handle # 此行代码用来定位当前页面 # 方式二 time.sleep(1) driver.switch_to.window(driver.window_handles[0…
1.根据不同的浏览器 下载不同的驱动,下面是谷歌的驱动 下载地址:ChromeDriver - WebDriver for Chrome - Downloads (chromium.org)     1.首先需要下载Chromedriver,下载后得到的是一个chromedriver.exe文件. chromedriver下载地址: 下载地址:ChromeDriver - WebDriver for Chrome - Downloads (chromium.org)   2.将chromedri…
自动化测试中经常会出现无法定位元素的情况,报selenium.common.exceptions.NoSuchElementException错误 Frame/Iframe原因定位不到元素: 这个是最常见的原因,首先要理解下frame的实质,frame中实际上是嵌入了另一个页面,而webdriver每次只能在一个页面识别,因此需要先定位到相应的frame,对那个页面里的元素进行定位. 解决方案: 如果iframe有name或id的话,直接使用switch_to_frame("name值"…
接触selenium大概半年时间了.从开始的预研,简单的写个流程到后期的自动化框架的开发,因为本人不属于代码方面的大牛,一直的边研究边做.逐步深入学习.近期发现自己对本身selenium的发展还存在困惑,这个也会困扰刚开始做的人,不了解为啥又是selenium.又是webdriver的.这些基本概念随着深入的开发在不懂.了解.混沌.清晰这个过程中逐渐的展现开来.目前我的框架java+testng+ant已经成型.但是发现自己对selenium的一些基本原理还有些混沌,所以特意停下来回头梳理一下,…