08_页面元素的操作

1.input输入框

  • click():点击,将光标聚焦到输入框里面
  • clear():清空输入框的内容
  • send_keys(str):在输入框中输入内容
  • get_attribute(‘value’):获取输入框的文本内容

2.单选项(Radio Button)

  • click():选择某个单选项
  • is_selected():判断某个单选项是否已经被选择

3.下拉选择框(Select):
需要导入select包(from selenium.webdriver.support.select import Select)

  • select_by_visible_text(’str’):选择对应的选择项
  • select_by_value(’str’):选择对应的选择项
  • select_by_index(1):选择对应的选择项,通过index(从1开始)
  • options:所有可选项
    针对多选下拉框:
  • deselect_all():不选择所有选项
  • deselect_by_value(’str’):不选择对应的选项
  • deselect_by_visibleText(’str’):不选择对应的选项
  • deselect_by_index(1):不选择对应的选项
  • options:所有可选项
  • all_selected_options:所有已选择的选项
  • first_selected_option:获取第一个选项的值

4.超链接

  • click():点击打开超链接

5.多选项(CheckBox)

  • click():选择多选框
  • is_selected():判断某个多选项是否已被选择
  • is_enabled():判断某个多选项是否能被选择

6.按钮(Button)

  • click():点击按钮
  • is_enabled():判断按钮是否能被点击

7.弹出对话框(Popup dialogs)

  • popup = driver.switch_to.alert:获取弹出对话框
  • accept():确认
  • dismiss():取消
  • text:获取对话框的文本

8.表单(Form)

  • submit():提交表单内容(仅适用于表单中有onsubmit方法)

9.拖动排序
(需要导入ActionChains包:from selenium.webdriver import ActionChains)

#定位元素的源位置
element = driver.find_element_by_xpath("//td[text()='线索']")
#定位元素要移动到的目标位置
target= driver.find_element_by_xpath("//td[text()='客户']")
#执行元素的拖放操作
ActionChains(driver).drag_and_drop(element,target).perform()

10.上传文件(Upload File):
需要导入两个包win32con、win32gui

# win32gui上传图片
browser.find_element_by_xpath('//*[@placeholder="请输入题干"]/../../div[2]/div/button').click()
dialog = win32gui.FindWindow(None, '打开')  # 对话框
ComboBoxEx32 = win32gui.FindWindowEx(dialog, 0, 'ComboBoxEx32', None)
ComboBox = win32gui.FindWindowEx(ComboBoxEx32, 0, 'ComboBox', None)
Edit = win32gui.FindWindowEx(ComboBox, 0, 'Edit', None)  # 上面三句依次寻找对象,直到找到输入框Edit对象的句柄
button = win32gui.FindWindowEx(dialog, 0, 'Button', None)  # 确定按钮Button
win32gui.SendMessage(Edit, win32con.WM_SETTEXT, None, "C:\\Users\\test\\Pictures\\Saved Pictures\\1.jpg")  # 往输入框输入绝对地址
win32gui.SendMessage(dialog, win32con.WM_COMMAND, 1, button)  # 按button

这种方法是当上传按钮不是input输入框的情况,如果是input输入框,可以直接使用send_keys,将要上传的文件路径赋值上去

11.鼠标悬浮按钮,点击子菜单
(需要导入ActionChains包:from selenium.webdriver import ActionChains)

avatar = driver.find_element_by_id('main-avatar')
ActionChains(driver).move_to_element(avatar).perform()

12.判断元素是否存在

  • is_displayed():判断元素是否存在

13.时间、日期选择控件处理方法

  • 1.通过模拟用户真实操作,点击弹出选择日期,选择具体的日期,确定(灵活性、稳定性太差)
  • 2.直接在日期输入框中输入日期

猜你喜欢

转载自blog.csdn.net/dcm1324659876/article/details/132366380