文章目录
- webdriver对象常用操作
- 访问url - get()
- 本机上没有浏览器,需要远程调用浏览器进行自动化测试 -- remote WebDriver
- 调整浏览器窗口大小
- 后退 - back()
- 前进 - forward()
- 刷新 - refresh()
- 提交 - submit()
- 退出驱动关闭所有窗口 - quit()
- 关闭当前窗口 - close()
- 获取当前页面的url - current_url
- 获取当前所在窗口句柄 - current_window_handle
- 获取所有窗口句柄 - current_window_handle
- 切换浏览器窗口 - switch_to_window(handle)
- 切换frame - switch_to_frame(frame_reference)
- 获取元素坐标 - location
- 获取元素的tag_name - tag_name
- 获取浏览器名字 - driver.name
- 返回当前页面的标题 - title
- 清空输入框内容 - clear()
- 截屏当前页面 - get_screenshot_as_file(filename)
- 获取当前窗口的坐标 - get_window_position()
- 获取当前窗口的宽高 - get_window_position()
- 获取当前窗口的宽高和坐标 - get_window_rect()
webdriver对象常用操作
访问url - get()
代码如下(示例):
driver.get('https://www.taobao.com/')
本机上没有浏览器,需要远程调用浏览器进行自动化测试 – remote WebDriver
待后面使用到时再学习
调整浏览器窗口大小
设置指定宽高的用途:我们一般会通过PC浏览器访问手机网站,通过该方式即可调整浏览器为手机屏幕的宽、高,可以发现一些显示问题
代码如下(示例):
driver.set_window_size(1000,600) # 设置宽1000px 高800px
driver.maximize_window() # 设置最大
driver.minimize_window() # 设置最小
后退 - back()
代码如下(示例):
driver.back()
前进 - forward()
代码如下(示例):
driver.forward()
刷新 - refresh()
代码如下(示例):
driver.refresh()
提交 - submit()
代码如下(示例):
driver.find_element(By.ID,'kw').send_keys('selenium')
driver.find_element(By.ID,'su').submit() # 和chick()效果类似
退出驱动关闭所有窗口 - quit()
代码如下(示例):
driver.quit()
关闭当前窗口 - close()
代码如下(示例):
driver.close()
获取当前页面的url - current_url
代码如下(示例):
driver.current_url
print(driver.current_url) # 打印获取到的url
获取当前所在窗口句柄 - current_window_handle
代码如下(示例):
driver.get('https://www.taobao.com/') # 访问域名
driver.maximize_window() # 最大化窗口
print('点击之前',driver.current_window_handle) # 获取当前窗口句柄
> 点击之前 CDwindow-BA090B3D38C7318D4B15374227CC0C93
driver.find_element(By.LINK_TEXT,'四件套').click()
print('点击之后',driver.current_window_handle)
> 点击之后 CDwindow-BA090B3D38C7318D4B15374227CC0C93
# 浏览器窗口句柄是不会自己变换的,可以看出点击“四件套”之后窗口句柄还是之前的那个,如果需要更换当前句柄,需要手动操作
获取所有窗口句柄 - current_window_handle
代码如下(示例):
driver.get('https://www.taobao.com/') # 访问域名
driver.maximize_window() # 最大化窗口
print('点击之前',driver.window_handles) # 获取所有窗口句柄
> 点击之前 ['CDwindow-BA090B3D38C7318D4B15374227CC0C93']
driver.find_element(By.LINK_TEXT,'四件套').click()
print('点击之后',driver.window_handles)
> 点击之后 ['CDwindow-BA090B3D38C7318D4B15374227CC0C93', 'CDwindow-FF386DA16ADE8BF7C87902E696C4DD9D']
# 实际操作点击“四件套”之后,会多出来一个浏览器窗口,在这个例子中也可以看出,点击之前就一个窗口句柄,点击之后就有两个窗口句柄了
切换浏览器窗口 - switch_to_window(handle)
代码如下(示例):
# 获取浏览器窗口句柄,原网页为句柄0,新网页为句柄1,依此类推
windows = diver.window_handles
# 定位到预想关闭的浏览器标签中
diver.switch_to.window(windows[1])
# 对这个句柄为1的标签操作关闭
diver.close()
# 回到原标签中,继续后续操作
diver.switch_to.window(windows[0])
切换frame - switch_to_frame(frame_reference)
代码如下(示例):
#切换框架,直接输入iframe的name或id属性,或者传入定位的元素
driver.switch_to_frame(frame_reference)
获取元素坐标 - location
代码如下(示例):
element = driver.find_element(By.LINK_TEXT,'四件套')
print(element.location) # 打印当前元素获取到的坐标
获取元素的tag_name - tag_name
代码如下(示例):
print(driver.find_element(By.ID,'kw').tag_name) # 打印出来百度的kw元素的标签名是input
获取浏览器名字 - driver.name
代码如下(示例):
print(driver.name)
返回当前页面的标题 - title
可以验证当前页面是否执行成功的一个标志
代码如下(示例):
print(driver.title)
清空输入框内容 - clear()
代码如下(示例):
driver.find_element(By.ID,'kw').send_keys('python')
driver.find_element(By.ID,'kw').clear()
截屏当前页面 - get_screenshot_as_file(filename)
代码如下(示例):
driver.get_screenshot_as_file('D:\\1.png') # 指定一个文件路径
获取当前窗口的坐标 - get_window_position()
代码如下(示例):
print(driver.get_window_position())
获取当前窗口的宽高 - get_window_position()
代码如下(示例):
print(driver.get_window_size())
获取当前窗口的宽高和坐标 - get_window_rect()
代码如下(示例):
print(driver.get_window_rect())