1. 跳转窗口 跳到百度注册页面 再跳回去
#coding=utf-8 from selenium import webdriver import time driver = webdriver.Chrome() driver.get("http://www.baidu.com/") nowhandle=driver.current_window_handle #点击登录链接 time.sleep(5) driver.find_element_by_xpath("//*[@id='u1']/a[7]").click() time.sleep(5) #通过二次定位找到用户名输入框 div=driver.find_element_by_class_name("tang-content").find_element_by_class_name("pass-reglink").click() #获得所有窗口 allhandles=driver.window_handles #循环判断窗口是否为当前窗口 for handle in allhandles: if handle != nowhandle: driver.switch_to_window(handle) print 'now register window!' #进行一系列注册 #回到原先的窗口 driver.switch_to_window(nowhandle)
2.
#coding=utf-8 from selenium import webdriver import time driver = webdriver.Chrome() driver.get("http://www.baidu.com/") #点击打开搜索设置 driver.find_element_by_xpath("//*[@id='u1']/a[8]").click() driver.find_element_by_class_name("setpref").click() time.sleep(3) #点击保存设置 driver.find_element_by_xpath("//*[@id='gxszButton']/a[1]").click() #获取网页上的警告信息 alert=driver.switch_to_alert() #接收警告信息 #alert.accept() #得到文本信息并打印 alert = driver.switch_to_alert() print alert.text
3. 下拉框处理
#先定位到下拉框 m=driver.find_element_by_id("ShippingMethod") #再点击下拉框下的选项 m.find_element_by_xpath("//option[@value='10.69']").click()
对这种类型的下拉框一般的处理是两次点击,第一点击弹出下拉框,第二次点击操作元
素。当然,也有些下拉框是鼠标移上去直接弹出的,那么我们可以使用 move_to_element()进行操作。
4.循环翻页操作 pages=driver.find_element_by_tag_name("select").find_elements_by_tag_name("o ption") for page in pages: page.click()
4.滚动条
#将页面滚动条拖到底部 js="var q=document.documentElement.scrollTop=10000" driver.execute_script(js)