selenium4.0中常见操作方式50条

前阵子升级了py3.9,一些常年陪伴的库也都做了升级,不少命令也更新了,适度更新一下记忆。

1. 打开浏览器:`driver = webdriver.Chrome()`

2. 访问网址:`driver.get("Example Domain")`

3. 获取当前网址:`driver.current_url`

  1. 获取页面标题:`driver.title`

5. 获取页面源码:`driver.page_source`

  1. 刷新页面:`driver.refresh()`

  2. 前进:`driver.forward()`

  3. 后退:`driver.back()`

9. 等待元素出现:`WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.ID, "my-element")))`

  1. 等待元素可点击:`WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.ID, "my-element")))`

11. 查找元素:`driver.find_element(By.ID, "my-element")`

  • find_element_by_id(id):根据元素的 ID 来查找元素。
  • find_element_by_name(name):根据元素的 name 属性来查找元素。
  • find_element_by_xpath(xpath):根据元素的 XPath 来查找元素。
  • find_element_by_link_text(link_text):根据元素的链接文本来查找元素。
  • find_element_by_partial_link_text(partial_link_text):根据元素的链接文本的一部分来查找元素。
  • find_element_by_tag_name(tag_name):根据元素的标签名来查找元素。
  • find_element_by_class_name(class_name):根据元素的 class 属性来查找元素。
  • find_element_by_css_selector(css_selector):根据元素的 CSS 选择器来查找元素。
  1. 查找多个元素:`driver.find_elements(By.CLASS_NAME, "my-element")`

13. 单击元素:`element.click()`

14. 输入文本:`element.send_keys("text")`

15. 清除文本:`element.clear()`

16. 获取元素文本:`element.text`

  1. 获取元素属性:`element.get_attribute("attribute-name")`

  2. 设置元素属性:`element.set_attribute("attribute-name", "value")`

  3. 滚动到元素:`driver.execute_script("arguments[0].scrollIntoView();", element)`

  4. 获取元素位置:`element.location`

  5. 获取元素大小:`element.size`

  6. 获取元素是否可见:`element.is_displayed()`

  7. 获取元素是否启用:`element.is_enabled()`

  8. 获取元素是否选中:`element.is_selected()`

  9. 提交表单:`element.submit()`

  10. 切换到新窗口:`driver.switch_to.window("window-name")`

  11. 切换到新标签页:`driver.switch_to.window("tab-name")`

28. 关闭当前窗口:`driver.close()`

29. 关闭所有窗口:`driver.quit()`

  1. 设置隐式等待:`driver.implicitly_wait(10)`

  2. 设置显式等待:`WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.ID, "my-element")))`

  3. 执行 JavaScript 代码:`driver.execute_script("script")`

  4. 获取浏览器日志:`driver.get_log("browser")`

  5. 获取页面截图:`driver.save_screenshot("screenshot.png")`

  6. 设置超时时间:`driver.set_page_load_timeout(10)`

  7. 设置脚本超时时间:`driver.set_script_timeout(10)`

  8. 忽略 SSL 证书错误:`driver.service.ignore_ssl_errors = True`

  9. 设置代理:`driver.service.proxy = "http://proxy.example.com:8080"`

  10. 设置用户代理:`driver.execute_cdp_cmd("Network.setUserAgentOverride", {"userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"})`

  11. 设置窗口大小:`driver.set_window_size(1024, 768)`

  12. 最大化窗口:`driver.maximize_window()`

  13. 还原窗口:`driver.minimize_window()`

  14. 退出浏览器:`driver.quit()`

  15. 等待元素出现:`WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.ID, "my-element")))`

  16. 等待元素可点击:`WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.ID, "my-element")))`

  17. 等待元素消失:`WebDriverWait(driver, 10).until(EC.invisibility_of_element_located((By.ID, "my-element")))`

  18. 等待元素可见:`WebDriverWait(driver, 10).until(EC.visibility_of_element_located((By.ID, "my-element")))`

  19. 等待元素不可见:`WebDriverWait(driver, 10).until(EC.invisibility_of_element_located((By.ID, "my-element")))`

  20. 等待元素被选中:`WebDriverWait(driver, 10).until(EC.element_to_be_selected((By.ID, "my-element")))`

  21. 等待元素未被选中:`WebDriverWait(driver, 10).until(EC.element_to_be_selected((By.ID, "my-element")))`

相关推荐
belldeep2 小时前
python:reportlab 将多个图片合并成一个PDF文件
python·pdf·reportlab
FreakStudio4 小时前
全网最适合入门的面向对象编程教程:56 Python字符串与序列化-正则表达式和re模块应用
python·单片机·嵌入式·面向对象·电子diy
丶21364 小时前
【CUDA】【PyTorch】安装 PyTorch 与 CUDA 11.7 的详细步骤
人工智能·pytorch·python
_.Switch5 小时前
Python Web 应用中的 API 网关集成与优化
开发语言·前端·后端·python·架构·log4j
一个闪现必杀技5 小时前
Python入门--函数
开发语言·python·青少年编程·pycharm
小鹿( ﹡ˆoˆ﹡ )6 小时前
探索IP协议的神秘面纱:Python中的网络通信
python·tcp/ip·php
卷心菜小温6 小时前
【BUG】P-tuningv2微调ChatGLM2-6B时所踩的坑
python·深度学习·语言模型·nlp·bug
陈苏同学6 小时前
4. 将pycharm本地项目同步到(Linux)服务器上——深度学习·科研实践·从0到1
linux·服务器·ide·人工智能·python·深度学习·pycharm
唐家小妹6 小时前
介绍一款开源的 Modern GUI PySide6 / PyQt6的使用
python·pyqt
羊小猪~~7 小时前
深度学习项目----用LSTM模型预测股价(包含LSTM网络简介,代码数据均可下载)
pytorch·python·rnn·深度学习·机器学习·数据分析·lstm