【selenium】元素定位与操作

【下拉框】

# 找到下拉框元素(通过ID、Name、XPath等方式)
# 假设下拉框的ID为'dropdown'
dropdown = driver.find_element(By.ID, 'dropdown')
 
# 使用Select类来处理下拉框
select = Select(dropdown)
 
# 选择下拉框中的选项(通过可见文本)
select.select_by_visible_text('Option Text')
 
# 或者通过选项的值来选择
# select.select_by_value('option_value')
 
# 或者通过索引来选择(从0开始)
# select.select_by_index(1)

 【iframe】

# 切换到iframe
driver.switch_to.frame("iframe的名称或ID")
# 在iframe中找到表单元素并进行操作
# ...
# 切换回主文档
driver.switch_to.default_content()

 【文件上传窗口处】使用pywinauto

import pywinauto
from pywinauto.keyboard import SendKeys
# 使用pywinauto来选择文件
app = pywinauto.Desktop()
# 选择文件上传的窗口
dlg = app["打开"]
# 选择文件地址输入框,点击激活
dlg["文件名(N):"].click()
# 键盘输入上传文件的路径
SendKeys("C:\课件\images")
# 键盘输入回车,打开该路径
#send_keys("{VK_RETURN}")
# 选中文件名输入框,输入文件名
#dlg["文件名(&N):Edit"].type_keys("9.png")
# 点击打开
dlg["打开(&O)"].click()

 表格元素获取

from selenium.webdriver.common.by import By
 
# 假设 self.find_element 已经通过某种方式(如ID)定位到了 table 元素
table = self.find_element(table_obj)
 
# 获取表格的所有行(tr元素)
rows = table.find_elements(By.TAG_NAME, "tr")
info = []
 
# 遍历每一行
for i in range(len(rows)):
    # 为每一行创建一个新的子列表
    row_data = []
    # 获取当前行的所有单元格(td元素)
    cells = rows[i].find_elements(By.TAG_NAME, "td")
    # 遍历当前行的每一个单元格
    for j in range(len(cells)):
        # 将单元格的文本(去除多余空白)添加到当前行的子列表中
        row_data.append(cells[j].text.strip())
    # 将当前行的子列表添加到info列表中
    info.append(row_data)
 
# 打印info列表,查看所有行和单元格的数据
for row in info:
    print(row)

隐藏数据 style dispaly:no

selenium 点击 display:none元素解决方法汇总_selenium display:none-CSDN博客

建议:可以通过触发将隐藏元素展示,再进行操作

posted on 2024-11-21 17:43  张凌赫_帅  阅读(44)  评论(0)    收藏  举报

导航