python+seleium元素定位事件表

1、驱动浏览器
from selenium import webdriver
chrome = webdriver.Chrome()

2、获取窗口大小
driver.get_window_size()   # 获取窗口尺寸
driver.minimize_window()   # 窗口最小化
driver.maximize_window()   # 窗口最大化

3、网页截图
driver.get_screenshot_as_file("D:\\screenshot.png")   # 截图

4、定位
# 定位一个元素:find_element_by_*('') 或 find_element(By.*, '')
# 定位多个元素:find_elements_by_*('') 或 find_elements(By.*, '')   id是唯一的,定位多个元素是没有办法通过id进行定位的。
find_element_by_id('') 或 find_element(By.ID, '')
find_element_by_name('') 或 find_element(By.NAME, '')
find_element_by_xpath('') 或 find_element(By.XPATH, '')
find_element_by_link_text('') 或 find_element(By.LINK_TAXT, '')
find_element_by_partial_link_text('') 或 find_element(By.PARTIAL_LINK_TEXT, '')
find_element_by_tag_name('') 或 find_element(By.TAG_NAME, '')
find_element_by_class_name('') 或 find_element(By.CLASS_NAME, '')
find_element_by_css_selector('') 或 find_element(By.CSS_SELECTOR, '')

5、元素操作
清除:.clear()
输入:.send_keys("str")
点击搜索按钮:.click()
模拟回车:.submit()
获取属性值href:.get_attribute('href')
获取元素文本内容:element.text
获取元素标签名:element.tag_name()
获取元素尺寸:element.size()

6、鼠标事件
click(on_element=None) ——单击鼠标左键
click_and_hold(on_element=None) ——点击鼠标左键,不松开
context_click(on_element=None) ——点击鼠标右键
double_click(on_element=None) ——双击鼠标左键
drag_and_drop(source, target) ——拖拽到某个元素然后松开
drag_and_drop_by_offset(source, xoffset, yoffset) ——拖拽到某个坐标然后松开
key_down(value, element=None) ——按下某个键盘上的键
key_up(value, element=None) ——松开某个键
move_by_offset(xoffset, yoffset) ——鼠标从当前位置移动到某个坐标
move_to_element(to_element) ——鼠标移动到某个元素
move_to_element_with_offset(to_element, xoffset, yoffset) ——移动到距某个元素(左上角坐标)多少距离的位置
perform() ——执行链中的所有动作
release(on_element=None) ——在某个元素位置松开鼠标左键
send_keys(*keys_to_send) ——发送某个键到当前焦点的元素
send_keys_to_element(element, *keys_to_send) ——发送某个键到指定元素

7、键盘事件
send_keys(Keys.BACK_SPACE) 删除键(BackSpace)
send_keys(Keys.SPACE) 空格键(Space)
send_keys(Keys.TAB) 制表键(Tab)
send_keys(Keys.ESCAPE) 回退键(Esc)
send_keys(Keys.ENTER) 回车键(Enter)
send_keys(Keys.CONTROL, ‘a’) 全选(Ctrl+A)
send_keys(Keys.CONTROL, ‘c’) 复制(Ctrl+C)
send_keys(Keys.CONTROL, ‘x’) 剪切(Ctrl+X)
send_keys(Keys.CONTROL, ‘v’) 粘贴(Ctrl+V)
send_keys(Keys.F1) 键盘 F1
...
send_keys(Keys.F12) 键盘 F12

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在使用 Python 的 Selenium 库进行元素定位时,可以创建一个类来管理定位相关的操作。下面是一个示例代码: ```python from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC class ElementLocator: def __init__(self, driver): self.driver = driver def find_element_by_id(self, element_id): return self.driver.find_element(By.ID, element_id) def find_element_by_xpath(self, xpath): return self.driver.find_element(By.XPATH, xpath) def wait_for_element_visible(self, locator, timeout=10): return WebDriverWait(self.driver, timeout).until(EC.visibility_of_element_located(locator)) # 可以添加其他常用的元素定位方法,比如 find_element_by_css_selector、find_element_by_class_name 等等 # 示例用法 driver = webdriver.Chrome() element_locator = ElementLocator(driver) element = element_locator.find_element_by_id("element_id") element.click() visible_element = element_locator.wait_for_element_visible((By.XPATH, "//div[@class='my-element']")) ``` 在上面的示例代码,我们创建了一个名为 `ElementLocator` 的类,它接收一个 Selenium WebDriver 对象作为参数,并提供了一些常用的元素定位方法,比如 `find_element_by_id` 和 `find_element_by_xpath`。此外,还添加了一个 `wait_for_element_visible` 方法,用于等待元素可见。 你可以根据自己的需要扩展 `ElementLocator` 类,添加其他常用的元素定位方法,以便于在测试或爬虫等场景使用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值