除了上一篇的元素定位方法,Selenium中的WebDriver类中还有一些常用的属性和方法
一、常用的属性
1、下表列出了WebDriver的常用属性
# | 属性 | 属性描述 | 用途 |
---|---|---|---|
1 | driver.name | 浏览器名称 | |
2 | driver.url | 当前url | |
3 | driver.title | 当前页面标题 | 可用于判断是否成功打开目标页面 |
4 | driver.page_source | 当前页面源码 | |
5 | driver.current_window_handle | 窗口句柄 | |
6 | driver.window_handles | 当前窗口所有句柄 |
2、代码示例
下面代码能够输出webdriver类中属性的值
`
from selenium import webdriver
from selenium.webdriver.common.by import By
from time import sleep
class Testcase:
def __init__(self):
self.driver = webdriver.Edge()
self.driver.get("https://www.baidu.com")
#输出WebDriver类常用的属性
def test_prop(self):
print(self.driver.name)
print(self.driver.current_url)
print(self.driver.title)
print(self.driver.current_window_handle)
#print(self.driver.page_source)
if __name__ == '__main__':
testcase=Testcase()
testcase.test_prop()
`
输出结果如下:
二、常用的方法
1、下表列出了WebDriver类常用方法
# | 方法 | 用途 |
---|---|---|
1 | driver.find_element() | 定位元素 |
2 | driver.switch_to.window() | 切换窗口,目标页面句柄作为参数 |
3 | driver.back() | 后退至上一页面 |
4 | driver.forward() | 前进至下一页面 |
5 | driver.refresh() | 刷新当前页面 |
6 | driver.close() | 关闭当前窗口 |
7 | driver.quit() | 关闭所有窗口 |
2、代码示例
以下代码调用WebDriver中常用方法
`
from selenium import webdriver
from selenium.webdriver.common.by import By
from time import sleep
class Testcase:
def __init__(self):
self.driver = webdriver.Edge()
self.driver.get("https://www.baidu.com")
def test_method(self):
#输入框中输入关键词“Python”并点击搜索
self.driver.find_element(By.ID, "kw").send_keys("Python")
self.driver.find_element(By.ID,"su").click()
sleep(2)
#点击链接,打开另一个窗口
self.driver.find_element(By.LINK_TEXT,"百度百科").click()
sleep(2)
#切换回第一个窗口
self.driver.switch_to.window(self.driver.window_handles[0])
sleep(2)
#后退到上一页面
self.driver.back()
sleep(2)
#前进到下一页面
self.driver.forward()
sleep(2)
#刷新当前页面
self.driver.refresh()
sleep(2)
#关闭当前窗口
self.driver.close()
sleep(2)
#关闭整个页面,所有窗口
self.driver.quit()
if __name__ == '__main__':
testcase=Testcase()
testcase.test_method()
`
标签:__,WebDriver,常用,webdriver,self,driver,sleep,属性 From: https://www.cnblogs.com/jongjongjong/p/18379267