python学习日记:splinter库中的browser.windows操作

python学习日记:splinter库中的browser.windows操作

在长达2个小时的挣扎与尝试之后,作为小白的我终于搞明白了在python的splinter库中如何操作浏览器窗口。在这里,我把我自己的感悟写下来,希望能给和我一样的小白同学一点帮助QAQ。
这里的Windows操作,只是写了几行代码,为了搞清楚这些操作都有什么用我进行了一遍又一遍的尝试,最后总结出了如下结论。

首先对于前几行

browser.windows              # all open windows
browser.windows[0]           # the first window
browser.windows[window_name] # the window_name window
browser.windows.current      # the current window

这几行其实并不是程序,哪怕你直接敲出来这些,可能也只是浏览器闪到那个窗口之后瞬间跳回来 。
(browser.windows.current 除外,这个会跳转到程序当前浏览的窗口)(是程序浏览的,不是你自己点击的!!!)
这几行,我更愿意将它们称为参数,或者说目标、对象之类的东西。

那么,这行代码

browser.windows.current = browser.windows[3]  # set current window to window 3

我们就可以这样理解,我们将 browser.windows.current 这个参数,赋值为了参数 browser.windows[3]。

然后这个

window = browser.windows[0]

这只是程序员为了偷懒少打几个字把 browser.windows[0] 这个参数用一个变量 window 替换了而已

之后的一系列代码,才是真正的指令。

window.is_current            # boolean - whether window is current active window
window.is_current = True     # set this window to be current window
window.next                  # the next window
window.prev                  # the previous window
window.close()               # close this window
window.close_others()        # close all windows except this one

我们一个个来看
1.window.is_current
这个,用上面的说法,就是 参数.is_current,它用来判断参数是否为程序当前浏览的页面;那么后面加上 = True,就是将参数变为当前程序浏览的页面。(.is_current 的返回值是bool型变量)
2.window.next
参数.next,这个是对参数做一个特别的运算,然后返回一个参数,参数页面的下一个页面 (即browser.windows[x+1]) 。(所以直接打出这个也是没用滴。)
3.window.prev
原理同上,只不过它的返回值是参数的上一个页面。
4.window.close()和window.close_others()
这两个指令有着相同的作用,都会关闭窗口,不过,前者关闭的是参数所指的窗口,后者关闭的是除了参数所指以外的其他窗口

还有一点我自己的感悟,其实所有的操作都要依赖于 browser.windows.current, 毕竟要处理的浏览页面才是最重要的嘛。

以上就是我对 Browser 中的 windows 的操作的理解,希望能帮上和我一样的小白同学,如果有哪个大佬发现其中有什么不对,希望给我能指正一下。

上一篇:爬虫:国内疫情查询


下一篇:6 执行 excel 中的步骤