首先,我們先來了解WebElement對象。
#導入模塊
from selenium import webdriver
#創建一個瀏覽器對象
driver = webdriver.Firefox()
#訪問url地址
url = "https://www.douban.com/"
#調用瀏覽器對象
driver.get(url)
#使用name定位豆瓣的輸入框
elem = driver.find_element_by_name("q")
#打印elem對象
print(elem)
#退出瀏覽器
driver.quit()
在python中執行上述代碼,得到如下結果,這就說明得到了一個WebElement的一個對象;
接下來介紹一下WebElement對象的屬性
#導入模塊
from selenium import webdriver
#創建一個瀏覽器對象
driver = webdriver.Firefox()
#訪問url地址
url = "https://www.douban.com/"
#調用瀏覽器對象
driver.get(url)
#使用name定位豆瓣的輸入框
elem = driver.find_element_by_name("q")
#打印elem對象
print(elem)
#打印標簽名
print(elem.tag_name)
#打印當前元素的上一級
print(elem.parent)
#打印當前元素的屬性值
print(elem.get_attribute('type'))
#使用xpath的方式定位豆瓣7.0文本內容
elem_1 = driver.find_element('xpath','//p[@class="app-title"]')
#打印當前元素的文本內容
print(elem_1.text)
#退出瀏覽器
driver.quit()
在python中執行上述代碼,得到如下結果,這就說明得到了一個WebElement的一個對象;
我們再來在瀏覽器中查看一下定位的輸入框以及“豆瓣7.0”文本內容
所以通過以上分析便可得出結論
tag_name的作用就是獲取對應元素的標簽名
parent的作用就是獲取對應元素的父級
get_attribute('type')的作用就是獲取對應元素中的屬性值,框號中的屬性可更改
text的作用就是獲取當前元素的文本內容
接下來,我們再看一下WebElement對象的操作
from selenium import webdriver
import time
def test_start_selenium():
#打開瀏覽器驅動,並輸入百度地址
driver = webdriver.Firefox()
url = "https://www.baidu.com/"
driver.get(url)
input_el = driver.find_element_by_id("kw")
time.sleep(3)
#輸入內容
input_el.send_keys("老友記")
#點擊百度一下按鈕
input_e2 = driver.find_element('xpath','//input[@type="submit"]')
input_e2.click()
time.sleep(3)
#清除輸入框中輸入的內容
input_el.clear()
time.sleep(3)
input_el.send_keys("西游記")
time.sleep(3)
#提交
input_el.submit()
driver.quit()
test_start_selenium()
在python中輸入以上代碼,運行一下,可以看出是打開瀏覽器操作,輸入百度的網址,然后搜索框中輸入老友記,點擊百度一下按鈕,再次刪除老友記,重新輸入西游記,再次提交,知道最終的瀏覽器關閉
所以,WebElement操作就是。
send_keys(""):輸入文本內容
click():點擊
clear():清空
submit():提交