Webdriver重用方法
浏览器控制
控制浏览器窗口大小
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("http://www.baidu.com")
# 把浏览器窗口调至最大
driver.maximize_window()
# 把浏览器窗口调至最小
driver.minimize_window()
# 设置浏览器窗口大小(480x800)
print("设置浏览器宽480, 高800显示")
driver.set_window_size(480, 800)
控制浏览器后退、前进
from selenium import webdriver
driver = webdriver.Chrome()
# 访问百度首页
first_url = "http://www.baidu.com"
print("the first url is : %s" % first_url)
driver.get(first_url)
# 访问新闻页
second_url = "http://news.baidu.com"
print("the second url is : %s" % second_url)
driver.get(second_url)
# 返回(后退)到第一个网页
driver.back()
print("the current url is : %s", driver.current_url) # the current url is : %s https://www.baidu.com/
# 前进到新网页
driver.forward()
print("the current url is : %s", driver.current_url) # the current url is : %s http://news.baidu.com/
切换标签页(窗口切换)
switch方法
有时单击某个链接会弹出新的窗口,这是需要切换到新打开的窗口中进行操作。
- switch_to.window()可以实现在不同窗口间进行切换
- window_handles: 返回所有窗口的句柄到当前会话
- current_window_handle:当前窗口句柄
from selenium import webdriver
driver = webdriver.Chrome()
# 访问百度首页
first_url = "http://www.baidu.com"
driver.get(first_url)
time.sleep(2)
# 点击新闻链接
driver.find_element_by_link_text("新闻").click()
time.sleep(2)
# 切换标签页
print(driver.current_url) # https://www.baidu.com/
print(driver.window_handles) # 打印选项卡列表
driver.switch_to.window(driver.window_handles[1]) # 标签页下标从0开始
print(driver.current_url) # http://news.baidu.com/
获取url使用get方法
import time
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("http://www.baidu.com")
driver.find_element_by_id("kw").send_keys("渗透吧")
driver.find_element_by_id("su").click()
time.sleep(3)
url = driver.find_element_by_xpath('//div[@id="1"]/h3/a').get_attribute("href")
print("正在打开:=============" + url)
driver.get(url)
time.sleep(5)
driver.quit()
模拟浏览器刷新
# 模拟浏览器刷新
driver.refresh()
关闭浏览器
driver.close() # 关闭当前标签页
# 关闭整个浏览器
driver.quit()
常用方法
clear
清除输入框文本
driver.find_element_by_id("kw").clear()
send_keys
模拟按键输入
driver.find_element_by_id("kw").send_keys("selenium")
click
模拟鼠标点击
driver.find_element_by_id("su").click()
submit
有些搜索框不提供搜索按钮,而是通过回车键完成提交,可以通过submit模拟
driver.find_element_by_id("kw").send_keys("selenium").submit()
size
获取输入框的尺寸
driver.find_element_by_id("kw").size
text
返回元素的文本
get_text = driver.find_element_by_id("cp").text
print(get_text)
get_attribute
获取属性值
driver.find_element_by_id("kw"