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、元素文本内容、元素标签名、元素尺寸这些常用的方法。

posted @ 2018-07-16 10:18  lvzb86  阅读(5044)  评论(0编辑  收藏  举报