1、清除文本方法
在前面的基础篇的最后一篇(点这里),我们用到了输入字符和点击按钮这样的操作。用send_keys()来输入字符串到文本输入框这样的页面元素,用click()来点击页面上支持点击的元素。有时候,我们需要清除一个文本输入框内的文字,然后重新输入新的字符串,那边清除这个方法如何实现呢。
调用webdriever中clear()方法:
# coding=utf-8
from selenium import webdriver
driver = webdriver.Chrome()
driver.maximize_window()
driver.implicitly_wait(6)
driver.get("https://www.baidu.com")
driver.find_element_by_id("kw").send_keys("Selenium")
try:
driver.find_element_by_id("kw").clear() # 调用clear()方法去清除
print ('test pass: clean successful')
except Exception as e:
print ("Exception found", format(e))
2、刷新当前页面
# coding=utf-8
import time
from selenium import webdriver
driver = webdriver.Chrome()
driver.maximize_window()
driver.implicitly_wait(6)
driver.get("https://www.baidu.com")
time.sleep(2)
try:
driver.refresh() # 刷新方法 refresh
print ('test pass: refresh successful')
except Exception as e:
print ("Exception found", format(e))
driver.quit()
3、浏览器前进和后退
# coding=utf-8
import time
from selenium import webdriver
driver = webdriver.Chrome()
driver.maximize_window()
driver.implicitly_wait(6)
driver.get("https://www.baidu.com")
time.sleep(2)
elem_news = driver.find_element_by_link_text("新闻")
elem_news.click() # 点击进入到百度新闻
time.sleep(2)
driver.back() # 从百度新闻后退到百度首页
time.sleep(2)
driver.forward() # 百度首页前进到百度新闻
time.sleep(2)
driver.quit()
4、获取浏览器版本号
# coding=utf-8
import time
from selenium import webdriver
driver = webdriver.Chrome()
driver.maximize_window()
driver.implicitly_wait(6)
driver.get("http://www.baidu.com/")
time.sleep(1)
print(driver.capabilities['version']) # 打印浏览器version的值
driver.quit()
5、获取当前页面url
# coding=utf-8
import time
from selenium import webdriver
driver = webdriver.Chrome()
driver.maximize_window()
driver.implicitly_wait(6)
driver.get("http://www.baidu.com/")
time.sleep(1)
driver.find_element_by_link_text("新闻").click()
time.sleep(1)
print (driver.current_url) # current_url 方法可以得到当前页面的URL
driver.quit()
6、获取当前页面的title
# coding=utf-8
import time
from selenium import webdriver
driver = webdriver.Chrome()
driver.maximize_window()
driver.implicitly_wait(6)
driver.get("http://www.baidu.com/")
time.sleep(1)
driver.find_element_by_link_text("新闻").click()
time.sleep(1)
print (driver.title) # title方法可以获取当前页面的标题显示的字段
driver.quit()
7、在浏览器中新开一个tab
本文介绍如selenium方法打开一个新的tab,我们知道在浏览器里,我们按住 ctrl+ t 就可以新打开一个tab。所以我们学习如何利用webdriver中send_key 的方法去触发ctrl+t的效果。我们利用火狐浏览器来演示。
# coding=utf-8
import time
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
driver = webdriver.Firefox()
driver.maximize_window()
driver.implicitly_wait(6)
driver.get("http://www.baidu.com/")
time.sleep(1)
ele = driver.find_element_by_tag_name('body').send_keys(Keys.CONTROL + 't') # 触发ctrl + t
time.sleep(1)