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 ...
随机推荐
- 002.SQLServer数据库镜像高可用简介
一 数据库镜像简介 1.1 数据库镜像概述 数据库镜像维护一个数据库的两个副本,这两个副本必须驻留在不同的 SQL Server 数据库引擎服务器实例上. 通常,这些服务器实例驻留在不同位置的计算机上 ...
- LeetCode 1248. 统计「优美子数组」
地址 https://www.acwing.com/solution/leetcode/content/5801/ 题目描述给你一个整数数组 nums 和一个整数 k. 如果某个子数组中恰好有 k 个 ...
- NOI Linux vim配置文件
set nu " set mu set ruler color torte set tabstop=4 set shiftwidth=4 set autoindent set cindent ...
- 职位画像分析(pandas/ matplotlib)
一.数据分析的步骤 二.提出问题 (1) 分析数据分析师主要的技能排名? (2) 分析数据分析师薪资和岗位地点.学历.工作年限的关系? (3) 数据分析师的学历需求? (4) 不同城市数据分析师的需求 ...
- 微服务、SpringCloud、k8s、Istio杂谈
一.微服务与SOA “微服务”是一个名词,没有这个名词之前也有“微服务”,一个朗朗上口的名词能让大家产生一个认知共识,这对推动一个事务的发展挺重要的,不然你叫微服务他叫小服务的大家很难集中到一个点上. ...
- OpenDaylight开发hello-world项目之功能实现
OpenDaylight开发hello-world项目之开发环境搭建 OpenDaylight开发hello-world项目之开发工具安装 OpenDaylight开发hello-world项目之代码 ...
- 对systemV和systemd的简单理解(服务方面)
在CentOS7(RHEL7)以后,服务从原来的由systemV管理机制升级到了systemd. 在sysV中,所有的服务脚本都放在/etc/rc.d/init.d/中,可以使用/etc/rc.d/i ...
- IT兄弟连 Java语法教程 数据类型3
字符型 在Java中,用于存储字符串的数据类型是char.然而,C/C++程序员要当心:Java中的char与C或C++中的char是不同的.在C/C++中,char的宽度是8位.而在Java中不是这 ...
- Appium+java --连接模拟器画面倒过来的问题
引用文章:https://blog.csdn.net/testerYu/article/details/90024049 工具 夜神模拟器 appium 现象 通过代码运行截图操作,结果全是倒着的如下 ...
- 华为mate10 pro内置浏览器出现的令人头疼的样式兼容问题
问题描述: 下图红色框区域内容在华为mate10 pro(以下简称mate10)内置浏览器中整体向左偏移,没有居中,其它手机浏览器都无该问题,如下图 问题分析 经过一番追根溯源,我发现是 bo ...