关闭

【Selenium学习笔记】webdriver如何定位一组对象

2175人阅读 评论(0) 收藏 举报
分类:

定位一组对象方法是:

  • driver.find_elements_by_name()
  • driver.find_elements_by_id()
  • driver.find_elements_by_class_name()
  • driver.find_elements_by_tag_name()
  • driver.find_elements_by_link_text()
  • driver.find_elements_by_partial_link_text()
  • driver.find_elements_by_xpath()
  • driver.find_elements_by_css_selector()
定位一组对象一般用于批量操作对象,比如将页面上所有的checkbox 都勾上、所有的文本框都填写上同样的内容等。


 比如:获取百度首页——设置——高级搜索,页面上所有的单选按钮:

from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains

driver = webdriver.Firefox()
driver.get('http://ww.baidu.com')
driver.maximize_window()

setting = driver.find_element_by_link_text(u'设置')
ActionChains(driver).move_to_element(setting).perform()
driver.find_element_by_link_text(u'高级搜索').click()

inputs = driver.find_elements_by_xpath("//input[@type='radio']")
返回一个list存在inputs里。

比如,获取百度首页——设置——高级搜索,页面上所有的文本框,并输入selenium:

from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains

driver = webdriver.Firefox()
driver.get('http://ww.baidu.com')
driver.maximize_window()

setting = driver.find_element_by_link_text(u'设置')
ActionChains(driver).move_to_element(setting).perform()
driver.find_element_by_link_text(u'高级搜索').click()

inputs = driver.find_elements_by_xpath("//input[@class='c-input']")
for t in inputs:
    t.send_keys('selenium')
time.sleep(5)
driver.find_elements_by_xpath("//input[@class='c-input']").pop().clear()
最后一行是,将最后一个文本框清空。pop 也为python 语言中提供的方法,用于删除指定们位置的元素,pop()为空默认选择最一个元素。要想清空第2个文本框,则使用pop(1),清空第一个文本框使用pop(0)。


0
0
查看评论

webdriver简单对象的定位_python

对象(元素)的定位和操作是自动化测试的核心部分,其中操作又是建立在定位的基础上的,因此元素定位就显得非常重要。(这里用到的对象与元素同为一个事物) 一个对象就像是一个人,他会有各种的特征(属性),如比我们可以通过一个人的身份证号、姓名或者他的住址找到这个人。那么一个元素也有类似的属性,我们可以通过...
  • Winterto1990
  • Winterto1990
  • 2015-09-03 15:46
  • 1843

selenium定位方法

一、webdriver提供的定位方式 idnameclass nametag namelink textpartial link textxpathcss selector
  • gavinxlf
  • gavinxlf
  • 2016-08-30 14:52
  • 740

WebDriver模拟输入方法

使用WebElement SendKeys方法 使用JavascriptExecutor或者RemoteWebDriver执行js脚本模拟脚本输入 使用WebDriver模拟人工浏览器操作,可以实现完美的模拟操作,躲避大部分反爬虫机制。这里,再简单的介绍下常用的输入框填写模拟的方法。 1. 使用...
  • wendingzhulu
  • wendingzhulu
  • 2016-11-23 07:07
  • 1636

webdriver获取input元素值的几种方法

input输入框DOM结构: 好的,首先我们给该input传入一个值“123”: WebElement username = driver.findElement(By.name("username")); username.sendKeys("123")...
  • fgwvip123
  • fgwvip123
  • 2016-05-19 10:21
  • 4880

Selenium练习四:百度搜索自动化脚本(三种定位方式)

1. 实现百度搜索的自动化测试脚本,需满足要求如下: 1)浏览器至少选择两种(火狐+chrome/ie),关键词为“福哥杂记 CSDN”; 2)脚本文件命名为“{组名}_{姓名}_百度搜索_{浏览器}_{脚本序号}.py” 3)搜索框和“百度一下”元素的定位方式,至少采用3种定位方法(每个脚本...
  • Rookie_hh
  • Rookie_hh
  • 2017-10-11 21:17
  • 330

selenium WebDriver定位元素学习总结

定位元素先要掌握基本的HTML语法: http://blog.csdn.net/jojoy_tester/article/details/53222425 http://blog.csdn.net/jojoy_tester/article/details/53228674 webdriver属于...
  • JOJOY_tester
  • JOJOY_tester
  • 2016-12-08 23:15
  • 8623

Selenium Webdriver元素定位的八种常用方式

楼主原创,分享不易,转载请注明,谢谢。   在使用selenium webdriver进行元素定位时,通常使用findElement或findElements方法结合By类返回的元素句柄来定位元素。其中By类的常用定位方式共八种,现分别介绍如下。   1. By.name() ...
  • qingchunjun
  • qingchunjun
  • 2015-01-10 10:31
  • 24905

MFC edit控件实现自动换行

必须设置Vertical Scrollbar = TRUE 必须设置MultiLine = TRUE 必须设置Horizontal Scrollbar = FALSE 必须设置Auto HScroll&#...
  • a200638012
  • a200638012
  • 2016-07-08 17:22
  • 4811

设置MFC Edit control可以换行显示

MFC Edit control可以换行显示 1.设置edit control 属性Multiline为true 2.写入数据时,想换行的时候写入"\r\n"即可,CString str.Replace("\n","\r\n"); ...
  • a780902723
  • a780902723
  • 2014-12-09 16:52
  • 2482

MFC中EDIT控件实现换行

一、通过回车换行: 这里要有两个设置 .将控件的属性设置为Mutilines->true; .将控件的另一个属性设置为Want return->true. 水平和垂直滚动条设置: 水平滚动条,控件属性设置为:Horizontal Scroll->TRUE ...
  • dearwind153
  • dearwind153
  • 2015-12-09 21:13
  • 3905
    个人资料
    • 访问:905473次
    • 积分:7700
    • 等级:
    • 排名:第3308名
    • 原创:159篇
    • 转载:39篇
    • 译文:2篇
    • 评论:38条
    联系方式
    2010-2013,就职中科大洋,视音频编解码底层测试;
    2013-2015,就职爱迪德,视音频加密系统测试;
    2015-2016,就职猎豹移动,新闻推荐系统服务器端测试;
    2016-至今,就职蔚来汽车,车联网系统测试

    有对自动化测试、持续集成感兴趣的朋友,可以和我交流。
    最新评论