python之循环
Posted 年轻人——001
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python之循环相关的知识,希望对你有一定的参考价值。
最近用selenium爬虫抓取东西的时候,遇到一个问题,就是要挨个点击某个目录,目录后面是链接。也就是逐条进入每一条目录里面,进行操作
一时哽噎,竟然不知所措。想的是方向性问题,就是selenium如何决定先点击谁,再点击谁的问题。选择的方向性问题。先说解决方案
就是根据目录所在的是那一页,哪一行,给它来个顺序排列。如果一共是200行,那好,第一次点击第一行,第二次点击第二行,第三次点击第三行。也就是一个简单的
for x in range(200)嘛,很简单。我感兴趣的是它背后的思想,selenium先点击谁,后点击谁。这里面其实是两个问题,第一个是谁和谁怎么区分,也就是第一行和第二行怎么区分,我们用数字给它绑定定位。第二个是先后问题,顺序问题,从谁开始点击,到谁点击结束。在循环遍历中,我们是通过顺序确定方向的,也就是从1开始到200结束或者从200开始到1结束。
这里面既是循环遍历的作用。循环意味着重复,也就是通过循环解决重复性的工作,两个关键点,第一是确定重复多少次,第二是每次重复的区别性。
然后我就想到了多窗口处理的时候,也是通过列表思想切换窗口的。
from selenium import webdriver import time zhuye = obj.current_window_handle all_handles = obj.window_handles if len(all_handles)>1: for handle in all_handles: if handle != zhuye: obj.switch_to.window(handle)
它的思想就是先获取所有的窗口,得到一个列表,然后通过遍历的方式,确定要切换的窗口。
我们人切换浏览器窗口是怎么切换的呢?
是发现两个窗口之间的区别,然后点击。
我们有眼睛,可以直接观察到窗口之间的区别,但是selenium没有眼睛,如何判断区别呢,就是对比一下窗口角标是不是相等,方向性就是通过遍历的方式,依次向前推进。
以上是关于python之循环的主要内容,如果未能解决你的问题,请参考以下文章