selenium+python上传文件(Button按钮)

之前研究了很久到现在才发现,如果是input可以直接sendkeys赋值比较方便,我今天用的button上传,代码如下:

# 上传凭证(非input型)
    driver.find_elements_by_tag_name("button")[1].click()
    time.sleep(3)  # 一定要加,弹出框后才有后续上传,之前因为没写弹窗没出后续执行无效
    dialog = win32gui.FindWindow("#32770", "打开")  # 一级窗口  ‘打开窗口’
    ComboBoxEx32 = win32gui.FindWindowEx(dialog, 0, "ComboBoxEx32", None)  # 二级
    ComboBox = win32gui.FindWindowEx(ComboBoxEx32, 0, "ComboBox", None)  # 三级
    edit = win32gui.FindWindowEx(ComboBox, 0, "Edit", None)  # 四级
    button = win32gui.FindWindowEx(dialog, 0, "Button", None)  # 四级
    # 往文件名编辑框中输入文件路径
    # 上传操作
    win32gui.SendMessage(edit, win32con.WM_SETTEXT, None, "E:\\1.jpg")  # 放入上传文件的绝对路径
    win32gui.SendMessage(dialog, win32con.WM_COMMAND, 1, button)  # 点击打开按钮

 

Selenium是一个流行的自动化测试工具,常用于Web应用的UI自动化测试。Python作为Selenium的主要语言之一,提供了selenium库来控制浏览器操作。当你想要编写一个百度搜索定位脚本时,通常会按照以下步骤: 1. **安装依赖**:首先,需要安装selenium库和webdriver(浏览器驱动),如ChromeDriver或FirefoxDriver。 ```bash pip install selenium webdriver_manager ``` 2. **初始化浏览器**:创建一个WebDriver实例,并选择合适的浏览器打开。 ```python from selenium import webdriver driver = webdriver.Chrome() # 或者webdriver.Firefox() driver.get("http://www.baidu.com") ``` 3. **定位元素**:使用`find_element_by_*`方法(如`find_element_by_name`、`find_element_by_id`等)来找到搜索框(例如输入框id通常是“kw”)和搜索按钮。 ```python search_box = driver.find_element_by_id("kw") search_button = driver.find_element_by_id("su") ``` 4. **填写并提交搜索内容**:将你要搜索的关键字输入到搜索框中,然后点击搜索按钮。 ```python search_box.send_keys("Python Selenium") # 输入搜索关键字 search_button.click() ``` 5. **等待页面加载**:可能需要添加等待时间让页面完全加载,比如使用`time.sleep()`或者更专业的等待方法。 6. **获取结果**:如果需要处理搜索结果,可以使用类似XPath或CSS选择器来定位元素。 7. **关闭浏览器**:最后别忘了关闭浏览器。 完整示例: ```python from selenium.webdriver.common.keys import Keys import time # ... (以上步骤) search_box.clear() # 清除默认文本 search_box.send_keys(Keys.RETURN) # 使用回车键代替click,因为实际搜索通常会自动触发 # 等待页面加载,这里设置3秒 time.sleep(3) # 获取搜索结果区域 results_area = driver.find_element_by_xpath('//div[@class="result"]') # ... (进一步分析搜索结果) driver.quit() # 关闭浏览器 ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值