#!/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_窗口句柄切换的更多相关文章

  1. No.5 selenium学习之路之多窗口句柄

    多窗口相关操作 获取当前句柄 c_handle = driver.current_window_handle 获取所有句柄 all_handle = driver.window_handles 切换到 ...

  2. Selenium WebDriver-获取与切换浏览器窗口的句柄

    通过selenium webdriver去切换浏览器的窗口,需要通过句柄,具体代码如下: #encoding=utf-8 import unittest import time import char ...

  3. python3百度指数抓取

    百度指数抓取,再用图像识别得到指数 前言: 土福曾说,百度指数很难抓,在淘宝上面是20块1个关键字: 哥那么叼的人怎么会被他吓到,于是乎花了零零碎碎加起来大约2天半搞定,在此鄙视一下土福 安装的库很多 ...

  4. 转载 基于Selenium WebDriver的Web应用自动化测试

    转载原地址:  https://www.ibm.com/developerworks/cn/web/1306_chenlei_webdriver/ 对于 Web 应用,软件测试人员在日常的测试工作中, ...

  5. Python+Selenium WebDriver API:浏览器及元素的常用函数及变量整理总结

    由于网页自动化要操作浏览器以及浏览器页面元素,这里笔者就将浏览器及页面元素常用的函数及变量整理总结一下,以供读者在编写网页自动化测试时查阅. from selenium import webdrive ...

  6. Selenium2+Python:Webdriver API速记手册

    由于web自动化常常需要控制浏览器行为和操作页面元素,相关函数又比较多,于是再此记下一份Webdriver API查阅文档以备不时之需. 参考:虫师<Selenium2自动化测试实战>,和 ...

  7. 【WebDriver】WebDriver 常用操作

    WebDriver 常用操作 1 浏览器操作 2 窗口和弹框操作 3 cookies 操作 4 简单对象的定位 5 页面元素操作 6 鼠标事件 7 键盘事件 1 浏览器操作 #属性: driver.c ...

  8. Python + Selenium WebDriver Api 知识回顾

    一直再用 Selenium WebDriver 但是用的都比较零散,也没有做过总结,今天借此机会,整理一下,方便大家使用时查阅 webDriver  的属性 ['CONTEXT_CHROME', 'C ...

  9. Selenium使用总结(Java版本)

    硒在最近的发展中被广泛应用,因为它以前没有被使用过,并且已经走了太多的坑.这是一张唱片. 1.环境配置 配置要点: 1.Web驱动程序应该与浏览器版本相对应,chrome使用chrome驱动程序和ch ...

随机推荐

  1. Druid-代码段-1-2

    所属文章:池化技术(一)Druid是如何管理数据库连接的? 本代码段对应流程1.1,责任链的执行: //DruidDataSource类里的方法:获取连接 public DruidPooledConn ...

  2. 【python3基础】python3 神坑笔记

    目录 os 篇 os.listdir(path) 运算符篇 is vs. == 实例 1:判断两个整数相等 实例 2:argparse 传参 实例 3:np.where 命令行参数篇 Referenc ...

  3. html和css常见问题解答

    1. 详细描述层叠和继承的概念. 元素内嵌样式(用元素的全局属性style定义的样式) 文档内嵌样式(定义在style元素中的样式) 外部样式(用link元素导入的样式) 用户样式(用户定义的样式) ...

  4. 让你的网页"抖起来"?!?

    细心的小伙伴可能发现我的左下角有一个抖起来的小按钮,然后页面就开始皮了起来,哈哈好快乐啊 没有利用js,单独的使用了css3的动画就实现了这个效果 css设置 @keyframes shake-it{ ...

  5. vue表格合并行的一个实例

        一.element控件实现 在平常的应用中,需要用到合并单元格的操作,在Excel中,这种操作很好实现,但在实际项目中,常常需要借助element控件来实现. 下面是element中的一个实例 ...

  6. 阿里Nacos初体验

    Nacos 从开源到现在已经18个releases了,更新很快,社区也很活跃,光钉钉群的人数那也是好多,每次点个查看全部成员的按钮,我的钉钉就要卡死,也有可能我没更新最新的版本. 前面写了一段时间的S ...

  7. golang数据结构之栈

    stack.go package stack import ( "errors" "fmt" ) type Stack struct { MaxTop int ...

  8. js判断浏览器是否安装或启用了flash的方法总结

    目录 # js判断浏览器是否安装或启用了flash的方法 # chrome浏览器启用flash插件的方法 # 参考 # js判断浏览器是否安装或启用了flash的方法 在传统浏览器,可以使用windo ...

  9. 《细说PHP》 第四版 样章 第二章 PHP的应用与发展 3

    2.3  PHP的开发优势 每种编程语言都有针对的领域,当然相同领域也有多个编程语言可以选择, 所以需要了解每种编程语言的优势和劣势,才能更好地去选择使用,在对的开发领域充分发挥它的优势,编写出最优质 ...

  10. SecureCRT连接本地虚拟机Linux系统很慢

    SSH配置问题 cd /etc/ssh/ 备份一下配置文件 cp sshd_config sshd_config.2019-07-17.bak 修改配置 vim sshd_config 重启sshd服 ...