标签:句柄 ack ext -- word sele 账号 odi ***
selenium提供了许多API方法与页面进行交互,如点击、键盘输入、打开关闭网页、输入文字等。
webdriver对浏览器提供了很多属性来对浏览器进行操作,常用的如图:
get(url)、quit() maximize_window() current_url
back() forward() current_window_handle与window_handles
以打开百度首页-----点注册,到注册也注册------再转到登录页登录为例说明
具体代码如下:
#coding=utf-8
import time
from selenium import webdriver
driver=webdriver.Firefox()
driver.maximize_window()
driver.implicitly_wait(30)
driver.get(‘https://www.baidu.com/‘)
driver.find_element_by_partial_link_text(u‘登录‘).click()
dlwindow=driver.current_window_handle#取到登录窗口的句柄
driver.find_element_by_link_text(u‘立即注册‘).click()
windows=driver.window_handles#取所有窗口的句柄
for item in windows:
if item!=dlwindow:
driver.switch_to_window(item)#如果item不是登录那个窗口的句柄(即 是注册窗口的句柄),driver就swithto注册窗口
#注册
driver.find_element_by_id(‘TANGRAM__PSP_3__userName‘).send_keys(‘pandaa‘)
driver .find_element_by_id(‘TANGRAM__PSP_3__phone‘).send_keys(‘18298888888‘)
time.sleep(3)
#去登录页面用新注册的账号登录百度
driver.switch_to_window(dlwindow)
driver.find_element_by_id(‘TANGRAM__PSP_10__userName‘).send_keys(‘pandaa‘)
driver.find_element_by_id(‘TANGRAM__PSP_10__password‘).send_keys(‘******‘)
driver.quit()
forward() back()
打开百度---点新闻到新闻页面---点back,回到首页----点forward,到新闻页面
代码如下:
#coding=utf-8
import time
from selenium import webdriver
driver=webdriver.Firefox()
driver.maximize_window()
driver.implicitly_wait(30)
driver.get(‘https://www.baidu.com/‘)
driver.find_element_by_partial_link_text(u‘新闻‘).click()
driver.back()
time.sleep(3)
driver.forward()
time.sleep(3)
driver.quit()
selenium与页面交互之一:webdriver浏览器的属性
标签:句柄 ack ext -- word sele 账号 odi ***
原文地址:http://www.cnblogs.com/sunny0/p/7568864.html