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