定位方法不仅限于这些,我也会随时补充,大家有其他补充或建议可以在评论区一起讨论哦!!!
 
 
【打开链接】drive.get(“https://www.baidu.com”)
 
【用id定位】drive.find_element_by_id(“kw”).send_keys(“小狗”)
                     drive.find_element_by_id(“su”).click()
 
【用name定位】drive.find_element_by_name(“wd”).send_keys(“小狗”)
 
【CSS定位】drive.find_element_by_css_selector("#su").click()
 
【文字链接定位】drive.find_element_by_link_text(u"视频").click()
                             #u是因为是汉字 u"视频"是个链接
 
【部分文字链接定位】browser.find_element_by_partial_link_text(“hao”).click()
 
【XPath 定位】 drive.find_element_by_xpath("//*[@id=‘kw’]").send_keys(“小狗”)
 
【点击对象】drive.find_element_by_id(“su”).click()
 
【在对象上模拟按键输入】drive.find_element_by_id(“kw”).send_keys(“小狗”)
 
【 清除对象的内容】drive.find_element_by_id(“kw”).clear()
 
【提交表单】driver.find_element_by_id(“su”).submit()
                   (把click 换成submit 可以达到相同的效果)
 
【添加等待】(import time) time.sleep(3)
 
【只能等待】 browser.implicitly_wait(30)
 
【打印tile】 print driver.title
 
【打印url】print driver.current_url
 
【浏览器最大化】 browser = webdriver.Firefox()
 
【设置浏览器宽、高】 browser.set_window_size(480, 800)
 
【页面滚动条拖到底部】
js="var q=document.documentElement.scrollTop=10000
driver.execute_script(js)
 
【页面滚动条拖到顶部】
js="var q=document.documentElement.scrollTop=0
driver.execute_script(js)
 
【操作浏览器的前进、后退】
browser.back()
browser.forward()
 
【ctrl+a 全选输入框内容】
driver.find_element_by_id(“kw”).send_keys(Keys.CONTROL,‘a’)
 
【ctrl+x 剪切输入框内容】
driver.find_element_by_id(“kw”).send_keys(Keys.CONTROL,‘x’)
 
【右键/双击】
qqq =driver.find_element_by_xpath(".//*[@id=‘s_btn_wr’]")
ActionChains(driver).context_click(qqq).perform() #右键
ActionChains(driver).double_click(qqq).perform() #双击
 
【定位元素的原位置】
element = driver.find_element_by_id(“s_btn_wr”)
 
【定位元素要移动到的目标位置】
target = driver.find_element_by_class_name(“btn”)
 
【执行元素的移动操作】
ActionChains(driver).drag_and_drop(element, target).perform()
 
【移动鼠标】
qqq =driver.find_element_by_xpath(".//*[@id=‘s_btn_wr’]")
ActionChains(driver).move_to_element(btn).perform()
 
【点击空白区域】需要导入命令:from selenium.webdriver.common.action_chains import ActionChains

action = ActionChains (driver)
action.move_by_offset(200, 100).click().perform() #200,100是坐标

【转移到新的页签】

windows = driver.window_handles#移动句柄为当前页面
driver.switch_to.window(windows[-1])

【刷新当前页面】

driver.refresh()

【在时间框中自动获取离当前时间未来时间并输入】
import datetime
today=datetime.datetime.today()
day=(today+datetime.timedelta(hours=2)).strftime("%Y-%m-%d %H:%M")
driver.find_element(By.XPATH,'xxx').send_keys(day)
sleep(2)

自动化测试工具selenium的常用定位方法的更多相关文章

  1. [python爬虫] Selenium常见元素定位方法和操作的学习介绍(转载)

    转载地址:[python爬虫] Selenium常见元素定位方法和操作的学习介绍 一. 定位元素方法 官网地址:http://selenium-python.readthedocs.org/locat ...

  2. Selenium Web元素定位方法

    Selenium是用于Web应用测试的自动化测试框架,可以实现跨浏览器和跨平台的Web自动化测试.Selenium通过使用WebDriver API来控制web浏览器,每个浏览器都都有一个特定的Web ...

  3. python+selenium实现163邮箱登陆—iframe动态ID定位 及常用定位方法

    今天发现之前的登录163邮箱脚本定位不到iframe了,原因是iframe拼接了动态ID,修改后的脚本如下: from selenium import webdriver driver = webdr ...

  4. 软件WEB自动化测试工具之智能元素定位

    江湖一直有着这么一句名言“天下武功,唯快不破".那么在软件测试领域,自然而然我们会想到软件自动化测试.软件自动化测试的实现自然离不开软件自动化测试工具.软件自动化测试工具是软件自动化的载体, ...

  5. python自动化测试工具selenium使用指南

    概述 selenium是网页应用中最流行的自动化测试工具,可以用来做自动化测试或者浏览器爬虫等.官网地址为:https://www.selenium.dev/.相对于另外一款web自动化测试工具QTP ...

  6. [python爬虫] Selenium常见元素定位方法和操作的学习介绍

    这篇文章主要Selenium+Python自动测试或爬虫中的常见定位方法.鼠标操作.键盘操作介绍,希望该篇基础性文章对你有所帮助,如果有错误或不足之处,请海涵~同时CSDN总是屏蔽这篇文章,再加上最近 ...

  7. Selenium常见元素定位方法和操作的学习介绍

    参考地址: https://www.cnblogs.com/eastmount/p/4810690.html 这篇文章主要Selenium+Python自动测试或爬虫中的常见定位方法.鼠标操作.键盘操 ...

  8. 开源Web自动化测试工具Selenium IDE

    Selenium IDE(也有简写SIDE的)是一款开源的Web自动化测试工具,它实现了测试用例的录制与回放. Selenium IDE目前版本为 3.6 系列,支持跨浏览器运行,所以IDE的UI从原 ...

  9. 【tips】自动化测试工具 - selenium和phantomJS

    ### 目录清单 selenium和phantomjs概述 selenium常用API 案例操作:模拟登陆csdn 1. selenium和phantomJS是什么东西 selenium是一套web网 ...

  10. python网络爬虫之自动化测试工具selenium[二]

    目录 前言 一.获取今日头条的评论信息(request请求获取json) 1.分析数据 2.获取数据 二.获取今日头条的评论信息(selenium请求获取) 1.分析数据 2.获取数据 房源案例(仅供 ...

随机推荐

  1. Java的引用(强软弱虚)

    Java中引用相关的类 类 名 说明 ReferenceQueue 引用队列 与某个引用类绑定,当引用死亡后会进入这个队列对象标记为垃圾(并不代表回收了)后或虚引用的对象被回收后,会加入到引用队列 H ...

  2. ES-增删改查

    写作目的 供想了解ES数据操作的伙伴学习ES的CRUD操作. 测试环境 ES7.8.1 postman 创建索引库 // PUT请求 localhost:9200/test_alert { " ...

  3. js格式转化

    js对象转json数据(json字符串): let obj = {'name': '张三','age': 18} let data = JSON.stringify(obj); conlose.log ...

  4. Eclipse设置背景色等

    1.设置背景色 a.Window->Preferences->General->Editors->Text Editors b.选择Background color选择自定义颜 ...

  5. vue打包添加时间戳,实现更新项目自动清除缓存

    本来vue打包会自动用chunkhash来解决缓存问题,但是部分浏览器不会自动更新,因此可以通过后面t=${ }的不同来实现自动重新加载文件,保持最新的界面 (1).webpack打包:修改build ...

  6. git命令,回滚上一个版本,回滚n个版本,撤销回滚

    1 回滚到上一个版本 git checkout . :add之前的回滚 git reset --hard:add之后,commit之前 git reset --hard origin/test:com ...

  7. sqoop mysql2hive

    a./etc/profile添加export HADOOP_CLASSPATH=$HADOOP_CLASSPATH:$HIVE_HOME/lib/*b.将hive-site.xml 拷贝到 $SQOO ...

  8. HIVE - HIVEQL学习笔记

    Hive Learning HIVEQL和MYSQL最为接近 数据操作 SHOW TABLES IN crm_integration Show tables 'dim_con*' DESCRIBE E ...

  9. 头条二面:宕机后,Redis如何实现快速恢复?

    Redis作为非常火热的内存数据库,其除了具有非常高的性能之外,还需要保证高可用,在故障发生时,尽可能地降低故障带来的影响,Redis也提供了完善的故障恢复机制:哨兵.下面就来具体来看看Redis的故 ...

  10. gitlab上传代码,菜鸟教学

    1.首先需要在gitlab上新建项目 2.编辑项目名称 3.在本地电脑上新建一个空的文件夹(或者是一个固定统一的文件夹),方便后续找到,这里会将gitlab的项目拉到这个文件内. 点击进入这个文件夹, ...