day2_窗口句柄切换
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2019/7/16 14:21
# @Author : 大坏男孩
# @File : day2_窗口句柄切换.py
# @Software: PyCharm
# @license : Copyright(C), 未来集团有限公司
# @Contact : 110@163.com import time
from selenium import webdriver
from selenium.webdriver.common.keys import Keys # driver = webdriver
driver = webdriver.Chrome()
driver.get("http://www.baidu.com")
driver.maximize_window()
time.sleep(2)
driver.find_element_by_id("kw").send_keys("鸡你太美是什么梗") # driver.window_handles -- 获取浏览器所有窗口的句柄,返回一个列表
window_a = driver.window_handles
# 打印窗口window_a的句柄
print(window_a)
# 在百度输入框后面添加一个value值为ENTER的内容
driver.find_element_by_id("kw").send_keys(Keys.ENTER)
time.sleep(2)
# 搜索界面第一条链接
driver.find_element_by_xpath('//*[@id="1"]/h3/a').click()
window_b = driver.window_handles
# 打印窗口window_b的句柄
print(window_b) # 切换窗口句柄
driver.switch_to.window(window_b[1])
time.sleep(2)
driver.find_element_by_xpath('//span[@id="evaluate-3047402417"]').click()
time.sleep(2)
# # 随意打开栏目等你来答下的一个内容 //*[@id="wgt-ad-right-fixed"]
# driver.find_element_by_xpath('//*[@id="wgt-ad-right-fixed"]/div[1]/ul/li[2]/div/a').click()
# # 切换为原窗口,即返回上一个网页界面
# driver.switch_to.window(window_b[0])
# time.sleep(2)
# driver.find_element_by_xpath('//*[@id="2"]/h3/a').click()
# 点击更多回答
driver.find_element_by_id("show-answer-hide").click()
time.sleep(2)
# # driver.find_elements_by_xpath('//span[@class="evaluate evaluate-32 evaluate-good"]')
# # ls = driver.find_element_by_xpath('//span[@class="evaluate evaluate-32 evaluate-good"]')
# # print(ls)
# # print(type(ls))
ls = driver.find_elements_by_xpath('//b[@class="evaluate-num"]')
print(ls) # 返回列表
print(type(ls)) # 列表
print(len(ls)) # 打印列表ls的长度
# for循环 -->实现循环点赞
n = 1
for i in ls:
if n % 2 != 0:
# print(i)
i.click()
n += 1
# 返回第二页的元素坐标位置
driver.find_element_by_xpath('//*[@id="wgt-answers"]/div/div[5]/a[1]').click()
ls = driver.find_elements_by_xpath('//b[@class="evaluate-num"]')
n = 2
for i in ls:
if n % 2 == 0:
i.click()
n += 1
day2_窗口句柄切换的更多相关文章
- No.5 selenium学习之路之多窗口句柄
多窗口相关操作 获取当前句柄 c_handle = driver.current_window_handle 获取所有句柄 all_handle = driver.window_handles 切换到 ...
- Selenium WebDriver-获取与切换浏览器窗口的句柄
通过selenium webdriver去切换浏览器的窗口,需要通过句柄,具体代码如下: #encoding=utf-8 import unittest import time import char ...
- python3百度指数抓取
百度指数抓取,再用图像识别得到指数 前言: 土福曾说,百度指数很难抓,在淘宝上面是20块1个关键字: 哥那么叼的人怎么会被他吓到,于是乎花了零零碎碎加起来大约2天半搞定,在此鄙视一下土福 安装的库很多 ...
- 转载 基于Selenium WebDriver的Web应用自动化测试
转载原地址: https://www.ibm.com/developerworks/cn/web/1306_chenlei_webdriver/ 对于 Web 应用,软件测试人员在日常的测试工作中, ...
- Python+Selenium WebDriver API:浏览器及元素的常用函数及变量整理总结
由于网页自动化要操作浏览器以及浏览器页面元素,这里笔者就将浏览器及页面元素常用的函数及变量整理总结一下,以供读者在编写网页自动化测试时查阅. from selenium import webdrive ...
- Selenium2+Python:Webdriver API速记手册
由于web自动化常常需要控制浏览器行为和操作页面元素,相关函数又比较多,于是再此记下一份Webdriver API查阅文档以备不时之需. 参考:虫师<Selenium2自动化测试实战>,和 ...
- 【WebDriver】WebDriver 常用操作
WebDriver 常用操作 1 浏览器操作 2 窗口和弹框操作 3 cookies 操作 4 简单对象的定位 5 页面元素操作 6 鼠标事件 7 键盘事件 1 浏览器操作 #属性: driver.c ...
- Python + Selenium WebDriver Api 知识回顾
一直再用 Selenium WebDriver 但是用的都比较零散,也没有做过总结,今天借此机会,整理一下,方便大家使用时查阅 webDriver 的属性 ['CONTEXT_CHROME', 'C ...
- Selenium使用总结(Java版本)
硒在最近的发展中被广泛应用,因为它以前没有被使用过,并且已经走了太多的坑.这是一张唱片. 1.环境配置 配置要点: 1.Web驱动程序应该与浏览器版本相对应,chrome使用chrome驱动程序和ch ...
随机推荐
- 201871010123-吴丽丽 《面向对象程序设计(Java)》第十六周学习总结
201871010123-吴丽丽 <面向对象程序设计(Java)>第十六周学习总结 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ ...
- WPF DATAGrid 空白列 后台绑定列 处理
原文:WPF DATAGrid 空白列 后台绑定列 处理 AutoGenerateColumns <DataGrid x:Name="dataGrid" Margin=&qu ...
- CF1244C The Football Season
题目链接 problem 给定\(n,p,w,d\),求解任意一对\((x,y)\)满足\[xw+yd=p\\ x + y \le n\] \(1\le n\le 10^{12},0\le p\le ...
- python有哪些优点跟缺点
显著的优点 1. 语言简洁优美,Java能实现的python都能实现(除安卓开发),python能实现的Java不一定能实现如(自动化运维,爬虫) 2. 跨平台,window, linux,mac通用 ...
- github 码云 chrome文件树形插件
偶然间看到github有一个树形插件,对于代码层级较多的项目来说体验提升了很多 github的chrome插件 chrome商店: https://chrome.google.com/webstore ...
- OpenFOAM——过渡管中的湍流
本算例来自<ANSYS Fluid Dynamics Verification Manual>中的VMFL016:Turbulent Flow in a Transition Duct 一 ...
- Struts2框架和SpringMvc框架的区别
Struts2框架和SpringMvc框架的区别 一.拦截机制的不同 Struts2是类级别的拦截,每次请求就会创建一个Action,和Spring整合时Struts2的ActionBean注入作用域 ...
- 使用php开发,基于swoole扩展开发的工具 swoole-crontab 作业/任务调度
Swoole-Crontab(基于Swoole扩展) 1.概述 基于swoole的定时器程序,支持秒级处理. 异步多进程处理. 完全兼容crontab语法,且支持秒的配置,可使用数组规定好精确操作时间 ...
- Vue ---- ajax cookies 插件安装 跨域问题 element-ui bootscript 导入
目录 补充: 流式布局样式 Django国际化配置 Django的TODO注释 Vue的ajax插件:axios 安装 配置 如何使用? Vue的cookies插件:cookies 安装: main. ...
- SQL语句--查找数据select
查看全部数据库表参照地址:https://www.cnblogs.com/zhoulixiangblog/p/12078724.html 本文所用数据库表: prod_id vend_id prod_ ...