selenium常用方法

打开浏览器

from selenium import webdriver
from selenium.webdriver.common.by import By

driver = webdriver.Edge()

url = "..."
driver.get(url)
driver.maximize_window()

# 隐式等待 每隔半秒钟查询一次
driver.implicitly_wait(10)

定位元素的方法

element = driver.find_element(By.NAME, 'name_attribute')
element = driver.find_element(By.ID, 'id_attribute')
element = driver.find_element(By.CSS_SELECTOR, 'css_selector')
element = driver.find_element(By.XPATH, 'xpath_selector')
element = driver.find_element(By.CLASS_NAME, 'class_attribute')
element = driver.find_element(By.LINK_TEXT, 'link_text')
element = driver.find_element(By.PARTIAL_LINK_TEXT, 'partial_link_text')
element = driver.find_element(By.TAG_NAME, 'tag_name')

elements = driver.find_elements()
# find_element()选取符合标签的第一个元素,如果没有则抛出异常
# find_elements()选取符合标签的所有元素,如果没有则返回一个空列表
# webDriver使用find时,是在整个web页面中查找
# webElement使用find时,是在该element下查找

for element in elements:
    print(element.text)

操作元素的方法

# 向某个元素输入内容
element.send_keys("admin")

# 清空某个元素的文本
element.clear()

# 某个元素全部的html内容
element.get_attribute("outerHTML")
# 某个元素内部的html
element.get_attribute("innerHTML")
# 获取输入框内的内容
element.get_attribute("value")
# 清空输入框
element.click()
# 获取元素显示在页面上的内容
element.text

操作浏览器的方法

# 切换浏览器页面的操作范围
driver.switch_to.frame('frame_selector')
# 切换浏览器窗口
for handle in driver.window_handles:
    driver.switch_to.window(handle)
    if 'baidu' in driver.title:
        break

# 关闭浏览器驱动
driver.quit()

操作选择框的方法

# select 选择框

from selenium.webdriver.support.ui import Select

select = Select(driver.find_element(By.ID, "ss_multi"))

select.deselect_all()

select.select_by_visible_text("text")

操作鼠标的方法

# 鼠标移动到某个element上

from selenium.webdriver.common.action_chains import ActionChains

ac = ActionChains(driver)

ac.move_to_element(driver.find_element(...)).perform()
ac.move_by_offset()

# 弹出框
# 点ok
driver.switch_to.alert.accept()
# 点cancel
driver.switch_to.alert.dismiss()
# 弹出框里的文本
driver.switch_to.alert.text

相关推荐

  1. selenium方法

    2024-07-12 00:42:03       24 阅读
  2. 自动化-selenium-元素/窗口方法

    2024-07-12 00:42:03       25 阅读
  3. selenium execute_script方法汇总

    2024-07-12 00:42:03       26 阅读
  4. 记录 Selenium 功能和API

    2024-07-12 00:42:03       35 阅读
  5. lodash方法

    2024-07-12 00:42:03       45 阅读

最近更新

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

    2024-07-12 00:42:03       66 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-12 00:42:03       70 阅读
  3. 在Django里面运行非项目文件

    2024-07-12 00:42:03       57 阅读
  4. Python语言-面向对象

    2024-07-12 00:42:03       68 阅读

热门阅读

  1. (九)Docker 的网络通信

    2024-07-12 00:42:03       22 阅读
  2. 【力扣】每日一题—第242题,有效的字母异位词

    2024-07-12 00:42:03       20 阅读
  3. Go单元测试

    2024-07-12 00:42:03       23 阅读
  4. C# IOC容器、依赖注入和控制反转

    2024-07-12 00:42:03       23 阅读
  5. 使用C++编写TCP服务端程序

    2024-07-12 00:42:03       23 阅读
  6. 什么是AQS

    2024-07-12 00:42:03       19 阅读
  7. mvvm模式

    2024-07-12 00:42:03       25 阅读
  8. Mybatis-Plus最优化持久层开发

    2024-07-12 00:42:03       20 阅读