selenium+python:脚本学习笔记(二)
来源:互联网 发布:方舟生存进化优化太差 编辑:程序博客网 时间:2024/05/16 06:16
自己写了一部分,也包含一些从其它文章里的摘录汇总,供自己后续学习备忘之用
- 键盘输入
- 获取元素自带的text内容
方法二:获取input中value的值
- alert弹出框处理
- 模拟鼠标键盘操作
http://blog.csdn.net/df0128/article/details/45536573
- 启动本地跟默认浏览器
- 窗口切换
windows = driver.window_handles
# 切换到当前最新打开的窗口
driver.switch_to.window(windows[-1])
window_1 = driver.current_window_handle
# 获得打开的所有的窗口句柄
windows = driver.window_handles
# 切换到最新的窗口
for current_window in windows:
if current_window != window_1:
driver.switch_to.window(current_window)
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.action_chains import ActionChains
#新建标签页
ActionChains(browser).key_down(Keys.CONTROL).send_keys("t").key_up(Keys.CONTROL).perform()
# 关闭标签页
ActionChains(browser).key_down(Keys.CONTROL).send_keys("w").key_up(Keys.CONTROL).perform()
4.标签页切换
from selenium import webdriver
browser=webdriver.Firefox()
browser.get('xxxxx')
# 获取当前窗口句柄(窗口A)
handle = browser.current_window_handle
# 打开一个新的窗口
browser.find_element_by_id('xx').click()
# 获取当前所有窗口句柄(窗口A、B)
handles = browser.window_handles
# 对窗口进行遍历
for newhandle in handles:
# 筛选新打开的窗口B
if newhandle!=handle:
# 切换到新打开的窗口B
browser.switch_to_window(newhandle)
break #跳出循环
# 在新打开的窗口B中操作
browser.find_element_by_id('xx').click()
# 关闭当前窗口B
browser.close()
#切换回窗口A
browser.switch_to_window(handles[0])
http://www.361way.com/python-selenium-switch-windows-tabs/5184.html
http://blog.csdn.net/real_tino/article/details/56521757
- 控制窗口打开方式(tab或新页面)
switch_to_window该方法是Webdriver中内置的一个方法,除了在多个浏览器中作切换用,单个浏览器多个标签(Tab)之间的切换也可以用这个方法,思路就是先取得所有标签的句柄,然后循环遍历并判断是否是当前标签页,如果不是则切换
target=_blank意思是在新窗口中打开被链接文档(引自w3school),通俗点解释就是超链接会用过新窗口(新标签)打开,那么将其值清除便可实现点击该超链接后不会另起一个新标签页。利用Document 对象方法查找该id然后将其target的值清除:
js = 'document.getElementById("setf").target="";'
driver = webdriver.Firefox()driver.get("http://www.baidu.com")js = 'document.getElementById("setf").target="";'driver.execute_script(js)driver.find_element_by_id("setf").click()driver.find_element_by_link_text("百度首页").click()
处理模态窗口的方法
1, 以如下的站点为例:https://developer.mozilla.org/samples/domref/showModalDialog.html
2, 当点击open a model dialog 按钮时, 会弹出模态窗口, 此时 按照通常的做法 便是使用 click操作,然后再switch to 弹出的窗口。 这样是行不通的, 因为click 那个button后 ,code被挂起了,这时候要等用户操作模态窗口完毕 才会继续执行下面的code。
3, 解决办法: 先使用sendkeys("") 定位到要点击的button上面,然后使用java robot类来模拟点击键盘的回车键, 如下:
Robot robot = new Robot();
robot.keyPress(KeyEvent.VK_ENTER);
Thread.sleep(500); //这里最好是等一下 时间根据实际情况来
然后就可以照常的去 getWindowHandles()来得到窗口的引用了,其他的照旧。 省略省略省略。。。
- 显性等待
try
:
WebDriverWait(driver,
20
,
0.5
).until(EC.presence_of_element_located(locator))
print
driver.find_element_by_link_text(
'CSDN'
).get_attribute(
'href'
)
finally
:
driver.close()
截图
from datetime import *
driver.get_screenshot_as_file(u"D:\\selenium-test-img\\%s.png" % datetime.now().strftime("%Y%m%d.%H%M%S.%f")[:-3])
- selenium+python:脚本学习笔记(二)
- selenium+python:脚本学习笔记(一)
- selenium+python:脚本学习笔记(三)
- Python Selenium 学习笔记(二)定位元素
- selenium学习笔记(二)
- selenium+python脚本编写笔记(四)
- Python + Selenium学习笔记(-)
- Python selenium 学习笔记
- Python + Selenium 学习笔记
- Selenium学习笔记之005:第一个selenium+python+webdriver脚本
- Jython-Java操作Python脚本学习笔记(二)
- selenium-webdriver (python)(一)学习笔记
- Selenium学习笔记之二
- 25. Python脚本学习笔记二十五 CGI脚本
- Python selenium的学习笔记
- Python-Selenium学习笔记一
- Selenium学习---(二)
- python 脚本学习二
- 富文本wangEditor
- Pytorch 0.3发布:实现多方面提速,增加对ONNX支持 | 快讯
- 比AlphaGo Zero更强的AlphaZero来了!8小时解决一切棋类!| 快讯
- 如何看待机器学习中的"稳定性"?
- 服务化了,没想到耦合更加严重?
- selenium+python:脚本学习笔记(二)
- 网站性能测试基本指标
- Git Subtree 的介绍及使用
- Nepire的校OJ入门题解—蓝桥选拔篇(三)
- 知识布局-数据结构-搜索二叉树
- 安卓集成eclipse 中的 The import android.support.v7.app cannot be resolved 问题解决方法
- phpcms 专题中添加字段
- 关于STL中vector容器的一些总结
- RGB图像区域直方图统计方法