使用Selenium-IDE自动上传证书至Plesk失败问题求助
解决Selenium IDE在Plesk环境中自动上传证书的问题
核心问题分析
上传卡住的根源是录制的命令定位错误,且误触发了浏览器系统文件选择框(Selenium无法操作该弹窗)。另外C:\fakepath\是浏览器安全机制生成的假路径,不能直接用于脚本。
解决步骤
1. 精准定位文件上传Input元素
页面中的<input>虽无id,但带有唯一的accept=".pem"属性,可用以下选择器定位:
- CSS选择器:
css=input[type="file"][accept=".pem"] - XPath选择器:
xpath=//input[@type='file' and @accept='.pem']
2. 替换错误的录制命令
删除原有的click按钮命令和type到div的命令,添加以下正确命令:
command: type target: css=input[type="file"][accept=".pem"] value: C:\你的真实证书路径\wildcard_my_domain_name.pem
说明:直接给
<input type="file">赋值本地真实路径,无需点击上传按钮(避免唤起系统文件选择框)。部分页面会在赋值后自动触发上传,若未触发,可额外添加一个点击按钮的命令,用更可靠的data-test-id定位按钮:command: click target: css=button[data-test-id="ext-sslit__certificate-upload-button"]
关于C:\fakepath\的解释
这是浏览器的安全保护机制:当用户通过网页文件选择框选择本地文件时,浏览器会隐藏真实本地路径,替换为C:\fakepath\开头的假路径,防止网页脚本窃取用户本地文件结构信息。因此录制时捕获的假路径无法用于脚本,必须替换为真实的本地文件路径。
内容的提问来源于stack exchange,提问作者MeSo2
相关产品推荐
相关产品推荐

