需求:设置百度的搜索查询条数为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()
接受警告提示