selenium查找元素的方法

"""
目前使用requests模块可以完成大部分爬虫功能,
但是当你目标网站的请求流程非常复杂时,分析请求流程需要花费大量的时间.

selenium模块
是一个自动化测试模块,主要用于测试页面的稳定性
与爬虫的关系
通过selenium模块可以直接操作浏览器来完成与服务器的交互,爬虫程序中就
不需要关系具体请求细节

使用步骤
1.安装selenium
2.浏览器的驱动程序

"""

# import selenium

from selenium import webdriver
import time
from selenium import webdriver
from selenium.webdriver import ActionChains
from selenium.webdriver.common.by import By #按照什么方式查找,By.ID,By.CSS_SELECTOR
from selenium.webdriver.common.keys import Keys #键盘按键操作
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.wait import WebDriverWait #等待页面加载某些元素


driver = webdriver.Chrome(r"D:\脱产三期视频\爬虫3\chromedriver.exe")
driver.get("https://www.baidu.com")

# 找到输入框
tag = driver.find_element_by_id("kw")
print(tag)
# 输入关键字
tag.send_keys("老男孩")

# wait = WebDriverWait(driver, 10,0.5)
# wait.until(EC.presence_of_element_located((By.ID, '3'))) # 等到id

time.sleep(2)

# 从搜索结果页面获取某个标签
# content = driver.find_element_by_id("3")
# 通过类名查找 找到第一个
# res = driver.find_element_by_class_name("result")
# print(res.text)

# res = driver.find_elements_by_class_name("result")
# print(res)
# driver.find_element_by_id()
# driver.find_elements_by_id()

# res = driver.find_elements_by_css_selector(".result")
# print(res)
# driver.find_elements_by_css_selector()

# res = driver.find_element_by_tag_name("div")
# ress = driver.find_elements_by_tag_name("div")
# print(ress)

# res = driver.find_element_by_link_text("老男孩_百度百科")
# print(res.get_attribute("href"))

# 通过部分的链接标题 查找a标签
# res = driver.find_element_by_partial_link_text("老男孩_")
# print(res.get_attribute("href"))
# print(content)
res = driver.find_element(By.PARTIAL_LINK_TEXT,"百度百科")
print(res)
# 获取属性
print(res.get_attribute("class"))
# 获取文本
print(res.text)
print(res.tag_name)


# 一顿操作后 关闭浏览器
driver.close()












posted @ 2019-01-23 19:34  不沉之月  阅读(4562)  评论(0编辑  收藏  举报