“我循环去点击一列链接,但是只能点到第一个,第二个就失败了,为什么?”。原因就在这里:你点击第二个时已经是新页面,当然找不到之前页面的元素。这时,他会问“可是明明元素就在那里,没有变,甚至我是回退回来的,页面都没有变,怎么会说是新页面?”。这个就需要你明白页面长得一样不代表就是同一张页面,就像两个人长得一样不一定是同一个人,他们的身份证号不同。页面,甚至页面上的元素都是有自己的身份证号(id)的。
我们来试试看:
代码:
-
# -*- coding: utf-8 -*-
-
-
from selenium import webdriver
-
-
driver = webdriver.Firefox()
-
driver.get( 'http://www.baidu.com')
-
-
print driver.find_element_by_id('kw') # kw before refresh
-
-
driver.refresh() # refresh
-