selenium

selenium模块是基于浏览器自动化的一个模块.

1.selenium安装
pip install selenium
2.实例化一个浏览器对象

新版本selenium无需下载驱动程序

from selenium import webdriver
webdriver.Chrome()
3.发起请求
from selenium import webdriver
chr=webdriver.Chrome()
chr.get("https://www.taobao.com")
4.获取浏览器当前页面的源码数据
page_text = chr.page_source
5.标签定位
from selenium.webdriver.common.by import By
#定位id
chr.find_element(By.ID,value="")
#name
chr.find_element(By.NAME,value="")
#class_name
chr.find_element(By.CLASS_NAME,value="")
#tag_name
chr.find_element(By.TAG_NAME,value="")
#link_text
chr.find_element(By.LINK_TEXT,value="")
#partial_link_text
chr.find_element(By.PARTIAL_LINK_TEXT,value="")
#class_selector
chr.find_element(By.CLASS_SELECTOR,value="")
#xpath
chr.find_element(By.XPATH,value="")
6.标签交互
from selenium.webdriver.common.by import By
#定位id
search_input=chr.find_element(By.ID,value="")
#标签交互
search_input.send_keys('')
7.执行js程序
chr.execute_script('')

#滚动一屏
chr.execute_script('window.scrollTo(0,document.body.scrollHeight)')
8.前进后退
#前进
chr.forward()

#后退
chr.back()
9.iframe

如果定位标签位于iframe标签之中,则必须使用switch_to.frame(id)

动作链

from selenium.webdriver import ActionChains

#实例化一个动作链对象
action = ActionChains(chr)

#长按
click_and_hold(div)

#移动 x水平方向 y竖直方向
move_by_offset(x,y)

#让动作链立即执行
action.move_by_offset(x,y).perform()

#释放动作链
action.release()

相关推荐

  1. selenium

    2024-04-02 10:02:02       64 阅读
  2. <span style='color:red;'>Selenium</span>

    Selenium

    2024-04-02 10:02:02      29 阅读
  3. selenium

    2024-04-02 10:02:02       24 阅读
  4. selenium

    2024-04-02 10:02:02       28 阅读
  5. Selenium

    2024-04-02 10:02:02       15 阅读
  6. selenium补充

    2024-04-02 10:02:02       45 阅读
  7. selenium原理

    2024-04-02 10:02:02       43 阅读
  8. selenium学习

    2024-04-02 10:02:02       44 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-02 10:02:02       5 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-02 10:02:02       5 阅读
  3. 在Django里面运行非项目文件

    2024-04-02 10:02:02       4 阅读
  4. Python语言-面向对象

    2024-04-02 10:02:02       6 阅读

热门阅读

  1. 【C/C++】C语言实现数组(多维数组+稀疏矩阵)

    2024-04-02 10:02:02       32 阅读
  2. node.js常用命令

    2024-04-02 10:02:02       24 阅读
  3. Mysql的库函数

    2024-04-02 10:02:02       23 阅读
  4. MySQL数据库优化和MySQL故障

    2024-04-02 10:02:02       27 阅读
  5. AI技术创业有哪些机会?

    2024-04-02 10:02:02       30 阅读
  6. 计算机网络入门基础知识详解

    2024-04-02 10:02:02       25 阅读
  7. MySQL 数据库的优化

    2024-04-02 10:02:02       49 阅读
  8. Linux安装 nginx

    2024-04-02 10:02:02       34 阅读
  9. shell实现两台服务器的文件实时同步

    2024-04-02 10:02:02       26 阅读
  10. 什么是VPN服务器

    2024-04-02 10:02:02       19 阅读