需求:设置百度的搜索查询条数为50条
代码:
1 #coding=utf-8
2 from selenium import webdriver
3 import time,os
4 dr=webdriver.Chrome()
5 dr.get("http://www.baidu.com")
6 time.sleep(3)
7 #定位到搜索设置
8 dr.find_element_by_xpath("//div[@id='u1']//a[@class='pf']").click()
9 dr.find_element_by_xpath("//div[@id='wrapper'][@style='display: block;']/div[@class='bdpfmenu']/a[@class='setpref']").click()
10 print "我定位到搜索设置了"
11 time.sleep(10)
12 #定位到设置50条的父元素
13 #m=dr.find_element_by_name("NR")
14 #print "我定位到父元素啦"
15 #定位到子元素
16 #m.find_element_by_xpath("//option[@value='50']").click()
17 dr.find_element_by_name("NR").click()
18 dr.find_element_by_xpath("//option[@value='50']").click()
19 print "我定位到子元素啦"
20 time.sleep(2)
21 #提交保存
22 dr.find_element_by_class_name("prefpanelgo").click()
23 time.sleep(2)
24 dr.switch_to_alert().accept()
25 print "保存成功"
26 #调整到百度首页后,进行搜查表,一页应该显示为50条结果
27 dr.find_element_by_id("kw").send_keys("huahuameizi")
28 dr.find_element_by_id("su").click()
29 time.sleep(20)
30 dr.quit()
解析:
driver.switch_to_alert().accept()
完成了操作,这是因为弹窗比较是一个具有唯一性的警告信息,所以可以用这种简便
的方法处理。
– switch_to_alert()
焦点集中到页面上的一个警告(提示)
– accept()
接受警告提示