【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博客
建议:可以通过触发将隐藏元素展示,再进行操作
浙公网安备 33010602011771号