Loading... # Selenium(一) ## 安装 pip安装selenium模块后即可导入成功 ~~~python from selenium import webdriver ~~~ 一下以chrome进行试验 需要安装与自己chrome版本号对应的chromedriver.exe,查看版本号,在chrome地址栏中输入chrome://version chromedirver下载地址[ChromeDriver Mirror (taobao.org)](http://npm.taobao.org/mirrors/chromedriver) 分别解压放到……/Google/Chrome/Application下和/python3x下 同时将……/Google/Chrome/Application添加到环境变量 设置浏览器驱动 ~~~python driver = webdriver.Chrome() ~~~ ## selenium元素定位 * find_elements_by_id * find_elements_by_name * find_elements_by_class_name * find_elements_by_tag_name * find_elements_by_link_text * find_elements_by_partial_link_text * find_elements_by_xpath * find_elements_by_css_selector 后续学习时发现新版本已经弃用了这些方法 ![image-20211126204214073.png](http://xherlock.top/usr/uploads/2021/11/769808384.png) 更改方法如下 首先从selenium导入by ~~~python from selenium.webdriver.common.by import By ~~~ 使用这些方法时改用find_element(),如下 ~~~python find_element(by.XPATH,'……') ~~~ 小补充 xpath定位可以在chrome等浏览器的console控制台下验证 $x(“your_xpath_selector”) ## 控制浏览器操作 ### 控制浏览器窗口大小 需要参数:driver.set_window_size(……,……) // 设置窗口大小 不需要参数:maximize_window() // 全屏显示 ### 控制浏览器前进和后退 driver.forward() & diver.back() ### 刷新页面 dirver.refresh() ## Webdriver常用方法 clear():清除文本 send_keys(value):模拟按键输入 click():点击元素 submit(): 提交表单 size 返回元素尺寸 text:获取元素的文本 get_attribute(name):获得属性值 小试牛刀 ~~~python from selenium import webdriver from selenium.webdriver.common.by import By from time import sleep driver = webdriver.Chrome() driver.maximize_window() driver.get("http://xherlock.top/") # 模拟点击输入事件 input = driver.find_element(By.ID, 'search_input') input.send_keys("python") driver.find_element(By.XPATH, '//*[@id="search_submit"]/button').click() sleep(2) # 这里必须要加个sleep延迟函数 results = driver.find_elements(By.CSS_SELECTOR, '#tab_1 > ul > li > a') for result in results: print(result.text) driver.quit() ~~~ 遇到的问题: * 模拟点击后如果不加sleep函数会在未加载完页面时就查找我想要的结果导致,导致无匹配返回值为空 * 要打印元素值(innerHTML)需要在后面加个.text进行查看 ## 初步计划 设计一个抢课脚本(希望来得及,最近功课有点紧,还提前考试了) 先放一张我已有的初步设想o(* ̄▽ ̄*)ブ <img src="http://xherlock.top/usr/uploads/2021/11/1322438549.png" style="zoom: 40%;"> 最后修改:2022 年 12 月 29 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 0 如果觉得我的文章对你有用,请随意赞赏