selenium与页面交互之一:webdriver浏览器的属性
selenium提供了许多API方法与页面进行交互,如点击、键盘输入、打开关闭网页、输入文字等。
webdriver对浏览器提供了很多属性来对浏览器进行操作,常用的如图:

get(url)、quit() maximize_window() current_url

back() forward() current_window_handle与window_handles
以打开百度首页-----点注册,到注册也注册------再转到登录页登录为例说明
具体代码如下:
#coding=utf-8
import time
from selenium import webdriver driver=webdriver.Firefox()
driver.maximize_window()
driver.implicitly_wait(30)
driver.get('https://www.baidu.com/')
driver.find_element_by_partial_link_text(u'登录').click()
dlwindow=driver.current_window_handle#取到登录窗口的句柄
driver.find_element_by_link_text(u'立即注册').click()
windows=driver.window_handles#取所有窗口的句柄
for item in windows:
if item!=dlwindow:
driver.switch_to_window(item)#如果item不是登录那个窗口的句柄(即 是注册窗口的句柄),driver就swithto注册窗口
#注册
driver.find_element_by_id('TANGRAM__PSP_3__userName').send_keys('pandaa')
driver .find_element_by_id('TANGRAM__PSP_3__phone').send_keys('18298888888')
time.sleep(3)
#去登录页面用新注册的账号登录百度
driver.switch_to_window(dlwindow)
driver.find_element_by_id('TANGRAM__PSP_10__userName').send_keys('pandaa')
driver.find_element_by_id('TANGRAM__PSP_10__password').send_keys('******')
driver.quit() forward() back() 打开百度---点新闻到新闻页面---点back,回到首页----点forward,到新闻页面
代码如下:
#coding=utf-8
import time
from selenium import webdriver driver=webdriver.Firefox()
driver.maximize_window()
driver.implicitly_wait(30)
driver.get('https://www.baidu.com/')
driver.find_element_by_partial_link_text(u'新闻').click()
driver.back()
time.sleep(3)
driver.forward()
time.sleep(3)
driver.quit()
selenium与页面交互之一:webdriver浏览器的属性的更多相关文章
- selenium与页面交互
selenium提供了许多API方法与页面进行交互,如点击.键盘输入.打开关闭网页.输入文字等. 一.webdriver对浏览器提供了很多属性来对浏览器进行操作,常用的如图: get(url).qui ...
- selenium与页面交互之二:webelement类的属性
webelement类的属性如下: element.size() 获取元素的大小 element.tag_name() 获取元素的HTML标签名称 element.text() 获取元素的文本 ...
- selenium server在页面加载超时浏览器与driver通信失败时的妙用
事实上,WebDriver有两种方式“驱动”浏览器的方式.1. Selenium Server:和Selenium RC一样的,通过指定远端服务器IP地址和端口号,由这个远端服务器来驱动浏览器.2. ...
- java模拟浏览器包selenium整合了htmlunit,火狐浏览器,IE浏览器,opare浏览器驱
//如果网页源码中有些内容是js渲染过来的,那你通过HttpClient直接取肯定取不到,但是这些数据一般都是通过异步请求传过来的(一般都是通过ajax的get或者post方式).那么你可以通过火狐浏 ...
- Webdriver实现下载功能,屏蔽掉windows弹出的对话框,FireFox下设置浏览器的属性,两种实现方式:
一.使用一个全新的FireFox浏览器打开Web应用,浏览器不带任何插件,也未对浏览器做任何默认配置,但需要对浏览器属性进行配置 // 获取浏览器的所有配置文件 ProfilesIni allProf ...
- Selenium自动化测试Python五:WebDriver设计模式
WebDriver 设计模式 欢迎阅读WebDriver进阶讲义.本篇讲义将会重点介绍Selenium WebDriver 自动化框架的设计,着重使用Page Object设计模式,以及使用HTML测 ...
- 第三百五十节,Python分布式爬虫打造搜索引擎Scrapy精讲—selenium模块是一个python操作浏览器软件的一个模块,可以实现js动态网页请求
第三百五十节,Python分布式爬虫打造搜索引擎Scrapy精讲—selenium模块是一个python操作浏览器软件的一个模块,可以实现js动态网页请求 selenium模块 selenium模块为 ...
- 二十九 Python分布式爬虫打造搜索引擎Scrapy精讲—selenium模块是一个python操作浏览器软件的一个模块,可以实现js动态网页请求
selenium模块 selenium模块为第三方模块需要安装,selenium模块是一个操作各种浏览器对应软件的api接口模块 selenium模块是一个操作各种浏览器对应软件的api接口模块,所以 ...
- Selenium处理页面---弹窗、表格、鼠标悬停、frame、下拉框、上传文件
一.Selenium测试-常用页面处理 1.概述 UI自动化测试(GUI界面层):UI层是用户使用产品的入口,所有功能通过这一层提供给用户,测试工作大多集中在这一层,常见的测试工具有UFT.Robot ...
随机推荐
- mystrcat
#include<stdio.h> //如果一个数组做为函数的形参传递,那么数组可以在被调用的函数中修改 //有时候不希望这个事发生,所以对形参采用const参数 //size_t str ...
- codefroces Round #201.a--Difference Row
Time Limit:2000MS Memory Limit:262144KB 64bit IO Format:%I64d & %I64u Description You wa ...
- A.Equivalent Prefixes(ST算法)
Equivalent Prefixes 时间限制:C/C++ 2秒,其他语言4秒 空间限制:C/C++ 524288K,其他语言1048576K 64bit IO Format: %lld 题目描述 ...
- ValidateUtil常用验证工具类,如手机、密码、邮箱等
package cn.com.ssk.util.utils; import java.util.regex.Pattern; import org.apache.commons.lang3.Strin ...
- C++入门经典-例3.17-使用while循环进行计算
1:代码如下: // 3.17.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <iostream> usin ...
- html5 canvas简易时钟
<canvas id='clock' width=500 height=500> 您的浏览器需要升级 </canvas> <script type="text/ ...
- Miniui 表单验证
自定义表单验证: input输入框的表单验证可通过vtype和onvalidation事件两种方式实现 可编辑列表(例如div)的表单验证只能通过vtye来实现表单验证 (1)vtype方式: jsp ...
- MacPorts镜像
/opt/local/etc/macports/macports.conf: rsync_server pek.cn.rsync.macports.org rsync_dir macports/rel ...
- 【攻克RabbitMQ】常见问题
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明.本文链接:https://blog.csdn.net/zlt995768025/article/ ...
- spark 笔记 11: SchedulingAlgorithm 两种调度算法的优先级比较
调度算法的最基本工作之一,就是比较两个可执行的task的优先级.spark提供的FIFO和FAIR的优先级比较在SchedulingAlgorithm这个接口体现.) { ) { ) { ) { fa ...