2022/05/15学习内容
整理时间:2022/05/16
参考资料:https://www.bilibili.com/video/BV1NM4y1K73T?p=1&spm_id_from=333.851.header_right.history_list.click
selenium实例
1.元素定位1
located_element.py
1)获取元素方法
2.元素定位2<a标签-超链接>
located_element.py
1)link text–完整链接文本
2)partial linktext–不完整链接文本
3.元素定位3<css选择器>
located_element.py
4.元素定位4
located_element.py
1)xpath概念
from selenium import webdriver
import time
from selenium.webdriver.common.by import By
# 获取浏览器对象 webdriver
# 因为没有设置环境变量 所以在这里需要"chromedriver.exe"
driver = webdriver.Chrome("chromedriver.exe")
# 准备一个网址 访问到浏览器
# https://www.baidu.com/
url = "https://www.baidu.com/"
driver.get(url)
# 元素定位1
# 通过id查找元素
# driver.find_element(By.ID, "kw").send_keys("python")
# driver.find_element(By.ID, "su").click()
# 通过NAME查找元素
# 由于百度一下没有NAME,所以使用别的方法进行查找
# driver.find_element(By.NAME, "wd").send_keys("python")
# driver.find_element(By.ID, "su").click()
# 通过CLASS_NAME查找元素
# driver.find_element(By.CLASS_NAME, "s_ipt").send_keys("python")
# driver.find_element(By.ID, "su").click()
# 定位a标签
# link text-完整链接文本
# driver.find_element(By.LINK_TEXT, "hao123").click()
# partial linktext-不完整链接文本-也可定位至hao123浏览器
# driver.find_element(By.PARTIAL_LINK_TEXT, "hao12").click()
# 定位元素方法:css选择器-综合方式
# "#kw"-#代表ID; ".s_ipt"-.代表CLASS_NAME; "[name = wd]"通过NAME查找元素
# driver.find_element(By.CSS_SELECTOR, "#kw").send_keys("python")
# driver.find_element(By.CSS_SELECTOR, ".s_ipt").send_keys("python")
# driver.find_element(By.CSS_SELECTOR, "[name = wd]").send_keys("python")
# 定位元素方法:XPATH
driver.find_element_by_xpath("//*[@id='kw']").send_keys("python")
driver.find_element_by_xpath("//*[@id='su']").click()
time.sleep(5)
# 回收资源
driver.quit()
5.元素操作
manpi_element.py
1)清除文本
2)模拟操作
3)单击元素
6.元素属性操作
manpi_element.py
1)大小
2)文本
3)属性值
4)是否可见
5)是否可用
from selenium import webdriver
import time
# 获取浏览器对象 webdriver
# 因为没有设置环境变量 所以在这里需要"chromedriver.exe"
driver = webdriver.Chrome("chromedriver.exe")
# 准备一个网址
# https://www.baidu.com/
url = "https://www.baidu.com/"
driver.get(url)
# 元素操作
# driver.find_element_by_xpath("//*[@id='kw']").send_keys("python")
# time.sleep(3)
# 清除文本
# driver.find_element_by_xpath("//*[@id='kw']").clear()
# driver.find_element_by_xpath("//*[@id='kw']").send_keys("java")
# driver.find_element_by_xpath("//*[@id='su']").click()
# time.sleep(5)
# 元素属性操作-大小、文本、是否可见、是否可用、属性值
print(driver.find_element_by_xpath("//*[@id='kw']").size)
print(driver.find_element_by_xpath("//*[@id='kw']").text)
print(driver.find_element_by_xpath("//*[@id='kw']").is_enabled())
print(driver.find_element_by_xpath("//*[@id='kw']").is_displayed())
print(driver.find_element_by_xpath("//*[text()='新闻']").get_attribute("href"))
# 回收资源
driver.quit()