selenium常用方法

发布于:2024-07-12 ⋅ 阅读:(244) ⋅ 点赞:(0)

打开浏览器

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

网站公告

今日签到

点亮在社区的每一天
去签到