selenium + python + nwjs
1、下载chromedriver文件
http://chromedriver.storage.googleapis.com/index.html
google官方下载地址
http://dl.nwjs.io/
推荐下载nwjs sdk,chromedriver文件包含在sdk中,下载后解压即可找到
2、代码示例
import time from selenium import webdriver from selenium.webdriver.common.keys import Keys ops = Options() ops.add_argument("nwapp=myapp") #myapp可以是一个文件夹!你的应用文件夹和nw.exe在同一个目录下即可 driver = webdriver.Chrome(ops) driver.maximize_window() #最大化窗口,非必须 driver.find_element_by_id("username").send_keys("admin") driver.find_element_by_id("password").send_keys("admin") driver.find_element_by_xpath("//*[@id='login']/form/p/input").click() time.sleep(1) driver.quit()
3、常用选择器
1.id定位:find_element_by_id("id")
2.name定位:find_element_by_name("name")
3.class定位:find_element_by_class_name("classname")
4.tag定位:find_element_by_tag_name("tagname")
5.link_text定位:find_element_by_link_text("linktext")
6.partial_link定位find_element_by_partial_link_text("partial_link")
7.xpath定位:find_element_by_xpath("xpath")
8.css定位:find_element_by_css_selector("css")
有的元素比较难定位,这时候用xpath是比较方便的,chrome可以自动生成xpath,只需要在chrome控制台选中相关元素,右键->Copy->copy xpath即可得到xpath。如下图所示
4、使用WebDriverWait来设置延时
time.sleep()虽然可以用来设置延时,但是其比较死板,只能设置指定的时间,面对不稳定的网络(有时加载快,有时加载慢),WebDriberWait显得更合适些,它是在指定时间内找到相关元素便可进行下一步操作。
想要使用WebDriverWait需要引入两个模块:
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
用法参考:
WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.XPATH,'//*[@id="upload-tips"]/div[2]'))).click()
写起来会麻烦一点
参考链接:
https://www.jianshu.com/p/56f2ce87b1f4
https://blog.csdn.net/zeping891103/article/details/50790180
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架