1,问题: 当我们第一遍找元素是找到了,而你循环后页面已经新刷新,所以不能用第一遍找出的元素了

即:页面刷新后元素的属性是没变,但是element却变了,所有之前定位的元素element都过期了

2,解决方案

1.针对页面刷新后,之前的元素失效问题,在for循环体里面可以重新定位一次,覆盖掉之前旧的就行了。

2.第一次获取全部元素后,通过len函数获取总个数

3.for循环的时候不要循环定位元素的list对象,换成range函数去循环

3,实例:

错误:

up_list = driver.find_elements_by_xpath("//ul/li/form[contains(@class,'up')]")

for up in up_list:

qa_id = up.get_attribute("action")

qa_id = re.search(r"question/(.*)", qa_id)

qa_id = qa_id.group(1)

if qa_id in qa_id_list:

print(qa_id)

up.find_element_by_xpath("./span//input").click()

time.sleep(2)

正确:

up_list = driver.find_elements_by_xpath("//ul/li/form[contains(@class,'up')]")

for up in range(len(up_list)):

qa_id = up_list[up].get_attribute("action")

qa_id = re.search(r"question/(.*)", qa_id)

qa_id = qa_id.group(1)

if qa_id in qa_id_list:

print(qa_id)

up_list[up].find_element_by_xpath("./span//input").click()

time.sleep(2)

up_list = driver.find_elements_by_xpath("//ul/li/form[contains(@class,'up')]")

python selenium刷新页面_python selenium 解决页面刷新后元素找不到问题相关推荐

  1. python爬虫动态加载页面_Python+Selenium爬取动态加载页面(2)

    注: 上一篇<Python+Selenium爬取动态加载页面(1)>讲了基本地如何获取动态页面的数据,这里再讲一个稍微复杂一点的数据获取全国水雨情网.数据的获取过程跟人手动获取过程类似,所 ...

  2. python网站打开慢_Python selenium页面加载慢超时的解决方案

    开发环境: win10-64  python2.7.16  chrome77 from selenium import webdriver driver = webdriver.Chrome(exec ...

  3. python自动化控制运动_Python +selenium自动化帮你预订运动场地

    导语 炎热的夏天,正是换上短裤短裙晒身材的时候.但是,身材不好怎么办?运动是一个选择,特别是像我们程序员行业,天天坐在空调办公室,更应该出出汗,正所谓:冬练三九,夏练三伏. 下班后,约上公司的妹子,打 ...

  4. python time智能等待_Python Selenium智能等待

    前言 在使用python selenium进行自动化测试实践的过程中,经常会遇到元素定位不到,弹出框定位不到等等各种定位不到的情况,在大多数的情况下,无非是以下两种情况: 1.有frame存在,定位前 ...

  5. python select模块安装_python+selenium select下拉选择框定位处理方法

    一.前言 总结一下python+selenium select下拉选择框定位处理的两种方式,以备后续使用时查询: 二.直接定位(XPath) 使用Firebug找到需要定位到的元素,直接右键复制XPa ...

  6. python自动化测试工具开发_Python+Selenium自动化测试教程连载(2)

    上一期介绍了自动化测试Python+Selenium框架的基本介绍,这期讲元素定位. 元素定位 1.WEB自动化时利器--浏览器自带开发者工具 几乎所有浏览器都自带前端调试工具,也就是我们说的开发者工 ...

  7. python抓取教学_Python Selenium 实战教学:爬取每日天气

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者:气象学渣 一.准备工作 1.Selenium的介绍与安装 Selen ...

  8. python print 退格_Python+Selenium练习篇之12-组合键-退格键删除文字/鼠标右键

    退格键删除文字 前面一篇文章介绍了,常规清除文本输入框字符的方法clear(), 本文介绍 相关脚本代码如下,这里用百度首页搜索输入框举例: #coding=utf-8 importtimefrom ...

  9. python提取身份证信息_Python selenium 身份证信息在线解析爬取

    当做笔记: 身份证地区查询,网络上的查询网站也比较多.现在查询数据库中的身份证,识别其中的信息.主要通过该网站:http://www.gpsspg.com/sfz/ 脚本: #-*- coding: ...

最新文章

  1. UVA11825 黑客的攻击 Hackers' Crackdown 状压DP,二进制,子集枚举
  2. Spring Boot的exit code
  3. linux 启动流详解
  4. SAP Cloud for Customer Cloud(C4C)Application Studio里的代码调试
  5. 篡改referer_HTTP_REFERER的用法及伪造
  6. tensorflow中GPU的设置
  7. Make GNN Great Again: GNN 上的预训练和自监督学习
  8. 模板题——快速幂,高斯消元
  9. MNIST数据集格式ubyte转png
  10. phpstudy探针文件
  11. [经验] 【安富莱——DSP教程】第7章 DSP定点数和浮点数(重要)
  12. WMI服务是什么?Windows 7系统如何禁用WMI服务?
  13. nested exception is java.lang.NumberFormatException: For input string: “swagger-ui.html“]
  14. C++的35个技巧阅读笔记(五)
  15. 【云原生 • Kubernetes】集群资源监控概述、监控平台的搭建
  16. 关于H5唤起地图导航小结
  17. 软件众包网站有哪些?
  18. 基于Python的招聘网站爬虫及可视化的设计与实现
  19. github生成密钥步骤
  20. traceroute的工作原理

热门文章

  1. Android多媒体功能开发(6)——使用MediaPlayer类播放音频
  2. windows平台使用iperf3
  3. APP里引用H5页面时,高度设置引起的底部白边等问题
  4. FCC单晶塑性abaqus-vumat
  5. 一套简单的ASP.NET教师信息管理系统源码,免费分享
  6. PWA(渐进式网页应用) + SPA(单页应用)的一个简单的思考
  7. 一文了解0欧电阻的奥秘:它不是导线,也不是真的0欧
  8. Docker 从入门到实践系列四 - Docker 容器编排利器 Docker Compose
  9. Modbus RTU通讯实例:安科瑞电表通讯
  10. 真就释放双手?C#模拟鼠标操作