前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >船长带你看书——《selenium2 python 自动化测试实战》(2)

船长带你看书——《selenium2 python 自动化测试实战》(2)

作者头像
孟船长
发布2018-05-18 18:17:48
7220
发布2018-05-18 18:17:48
举报

浏览器操作

代码语言:javascript
复制
# coding: utf-8

from selenium import webdriver
from time import sleep

driver = webdriver.Firefox()
driver.get("https://www.baidu.com")

# 设置浏览器宽800,高400
driver.set_window_size(800, 400)

sleep(3)

# 最大化窗口
driver.maximize_window()

driver.get("https://www.cnblogs.com/")
sleep(3)

# 后退到上一个页面
driver.back()

sleep(3)

# 前进到下一个页面
driver.forward()

sleep(3)

# 退出浏览器
driver.quit()

对象定位

webdriver 提供了一系列的元素定位方法,常用的有以下几种:

  • id
  • name
  • class name
  • tag name
  • link text
  • partial link text
  • xpath
  • css selector

分别对应 python webdriver 中的方法为:

  • find_element_by_id()
  • find_element_by_name()
  • find_element_by_class_name()
  • find_element_by_tag_name()
  • find_element_by_link_text()
  • find_element_by_partial_link_text()
  • find_element_by_xpath()
  • find_element_by_css_selector() 我们还是以blog.hexun.com为例:

这是他的登录框。摁F12或者鼠标右键选择Inspect in FirePath火狐浏览器会弹出查看元素界面:

点一下上图箭头所示那里,然后去页面上点击你想定位的元素,比如我们现在要定位输入账号框,我们就点一下那个查看元素的图标,然后点一下输入账号的框,就可以看到查看元素的页面定位到了这里:

在这里,页面元素属性有id、name等,这是我们定位这个框就可以通过id(find_element_by_id)或者name(find_element_by_name),一般来说name或者class_name,tag_name这些元素名称都不是唯一的,可能这里叫div(tag_name)另一个地方也叫div,这里叫name=”username”,另一个地方name也是username,这时候用name,class_name,tag_name就很难定位到你想要的元素,所以,不用犹豫了,不嫌长的话就用xPath或者css_selector吧,如果有id用id也可以,因为一般来说id肯定是唯一的。 name如何定位xPath或者css_selector呢?那就是查看页面元素那里选择

FirePath那个标签,上图已经看到账号栏的xPath了,只需要点击XPath后面那个小三角,就可以切换成css(就是css_selector)的定位方式了:

所以呢,以后再定位的时候基本上不用思考,直接用FirePath这个工具就可以了。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-11-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 自动化测试实战 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 浏览器操作
  • 对象定位
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档