002_selenium
/* 目录: 一 下载 二 插件:ChroPath 三 定位变更 四 基础用法 五 搜索关键字,爬取内容 */
一 下载
/* 下载WebDriver: 1 url: https://sites.google.com/chromium.org/driver/downloads 2 查看电脑chrome版本,下载对应WebDriver */
二 插件:ChroPath
/* 插件: ChroPath 1 生成: 定位 2 生成: 正则表达式 3 录制: 自动录制; 手动调整。 */
三 定位变更
/* Old API New API find_element_by_id(‘id’) find_element(By.ID, ‘id’) find_element_by_name(‘name’) find_element(By.NAME, ‘name’) find_element_by_xpath(‘xpath’) find_element(By.XPATH, ‘xpath’) find_element_by_link_text(‘link_text’) find_element(By.LINK_TEXT, ‘link_text’) find_element_by_partial_link_text(‘partial_link_text’) find_element(By.PARTIAL_LINK_TEXT, ‘partial_link_text’) find_element_by_tag_name(‘tag_name’) find_element(By.TAG_NAME, ‘tag_name’) find_element_by_class_name(‘class_name’) find_element(By.CLASS_NAME, ‘class_name’) find_element_by_css_selector(‘css_selector’) find_element(By.CSS_SELECTOR, ‘css_selector’) */
四 基础用法
from selenium import webdriver # 导入selenium库中的webdriver模块 import time # 导入time模块 from selenium.webdriver.common.by import By # 导入selenium库中的By模块 from selenium.webdriver.common.keys import Keys # 导入selenium库中的Keys模块 if __name__ == '__main__': PATH = "C:/Users/123/Desktop/chromedriver_win32/chromedriver.exe" # 设置chromedriver的路径 driver = webdriver.Chrome(PATH) # 创建Chrome浏览器驱动对象 driver.get("https://www.baidu.com") # 访问URL - 百度 time.sleep(5) # 等待5秒钟,使页面加载完成 # 方法一:使用ID定位元素 driver.find_element(By.ID, "kw").send_keys("汁虫 博客园") # 定位搜索框元素,输入关键字"汁虫 博客园" time.sleep(3) # 等待3秒钟,使搜索结果加载完成 driver.find_element(By.ID, "su").click() # 定位搜索按钮元素,点击搜索按钮 # 方法二:使用变量定位元素 e = driver.find_element(By.ID, "kw") # 定位搜索框元素 e.send_keys("python" + Keys.RETURN) # 输入关键字"python",并按下回车键进行搜索 time.sleep(2) # 等待2秒钟 driver.quit() # 退出浏览器驱动
五 搜索关键字,爬取内容
import time from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.common.keys import Keys from selenium.webdriver.support.wait import WebDriverWait from selenium.webdriver.support import expected_conditions as EC if __name__ == '__main__': PATH = "C:/Users/123/Desktop/chromedriver_win32/chromedriver.exe" driver = webdriver.Chrome(PATH) driver.get("https://hahow.in/") # 访问url # 等待搜索框元素加载完成 WebDriverWait(driver, 10).until( EC.presence_of_element_located((By.XPATH, "//header/div[@id='header']/nav[1]/div[1]/div[2]/div[1]/ul[1]/li[5]/div[1]/div[1]/input[1]")) ) e = driver.find_element(By.XPATH, "//header/div[@id='header']/nav[1]/div[1]/div[2]/div[1]/ul[1]/li[5]/div[1]/div[1]/input[1]") e.clear() e.send_keys("python" + Keys.RETURN) # 等待“影音課程”链接加载完成 WebDriverWait(driver, 10).until( EC.presence_of_element_located((By.PARTIAL_LINK_TEXT, "影音課程")) ) e = driver.find_element(By.PARTIAL_LINK_TEXT, "影音課程") e.send_keys(Keys.RETURN) time.sleep(3) # 无法解决: 显式等待 + 隐式等待 r = driver.find_elements(By.CLASS_NAME, "marg-b-10") for t in r: print(type(t), t.text) # 获取文本内容 e = driver.find_element(By.XPATH, "//header/div[@id='header']/nav[1]/div[1]/div[2]/div[1]/ul[1]/li[5]/div[1]/div[1]/input[1]") time.sleep(15) driver.quit() # 退出
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本