此前对网页内容进行元素定位的操作,接下来就可以对已经定位的元素进行操作了,一般情况下定位好元素后通过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、元素文本内容、元素标签名、元素尺寸这些常用的方法。