此前對網頁內容進行元素定位的操作,接下來就可以對已經定位的元素進行操作了,一般情況下定位好元素后通過IDE的提示就可以了解到有哪些方法
# coding = utf-8 import time from selenium import webdriver from selenium.webdriver.common.by import By driver = webdriver.Chrome() # 打開百度 driver.get("https://www.baidu.com/") driver.find_element(By.ID, 'kw').clear() # 清除文本框中內容 driver.find_element(By.ID, 'kw').send_keys("selenium") # 在搜索框中輸入“selenium” driver.find_element(By.ID, 'su').click() # 點擊搜索按鈕 time.sleep(5) driver.find_element(By.ID, 'kw').clear() driver.find_element(By.ID, 'kw').send_keys("豆瓣") driver.find_element(By.ID, 'kw').submit() # 同樣可以通過submit進行提交搜索操作,相當於回車 time.sleep(5) url_1 = driver.find_element( By.XPATH, '//*[@id="1"]/h3/a[1]').get_attribute('href') # 獲取元素屬性,這里得到a標簽中的href鏈接 driver.get(url_1) # 進入剛剛獲取的鏈接地址 eles = driver.find_elements(By.CLASS_NAME, 'pl') # 定位class_name為“pl”的元素列表 for i in eles: print(i.text, i.tag_name) # 輸出所有“pl”文本內容及類型 time.sleep(5) # 在知乎首頁的熱點內容中有部分是四張照片,通過chrome工具查看可以知曉圖片的尺寸是170*170,如果通過selenium是如何呢? img = driver.find_element(By.XPATH, '//*[@id="anony-sns"]/div/div[3]/div/div[1]/ul/li[1]/div/a/img') # 照例先定位元素 print(img.size) # 很簡單就可以得到圖片的尺寸 time.sleep(5) driver.quit()
在上面的代碼中,演練了多種常用方法
輸入和點擊
在定位好元素后,清除搜索框內內容后輸入需要搜索的元素,點擊搜索的按鈕提交搜索信息
.clear() 、 .send_keys("str") 、使用 .click() 點擊搜索按鈕提交或 .submit() 模擬回車提交搜索
獲取元素屬性
通過定位元素位置后,就可以獲得元素的諸多屬性信息,當然是源代碼中元素屬性存在的情況下。
在上述代碼中,依次通過 .get_attribute('href') 、 element.text 、 element.tag_name 、 element.size 獲得了屬性值href、元素文本內容、元素標簽名、元素尺寸這些常用的方法。