You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Robot Framework修改HTML文件并通过浏览器打开?

Robot Framework修改HTML并执行的实现方案

一、修改HTML中的目标值

你的HTML需要替换三个固定标记:Variable1(form的action属性)、Variable2(PaReq的value属性)、Variable3(TermUrl的value属性),可以通过Robot的文件操作和字符串替换完成:

  1. 定义新值并完成替换保存
*** Variables ***
${NEW_ACTION}    https://your-target-submit-url.com
${NEW_PAREQ}    your-unique-pareq-value
${NEW_TERMURL}    https://your-term-callback-url.com
${ORIGINAL_HTML}    ./original.html
${MODIFIED_HTML}    ./modified.html

*** Test Cases ***
Update HTML Content
    # 读取原始HTML文件内容
    ${HTML_CONTENT}    Get File    ${ORIGINAL_HTML}
    # 依次替换三个变量
    ${UPDATED_CONTENT}    Replace String    ${HTML_CONTENT}    Variable1    ${NEW_ACTION}
    ${UPDATED_CONTENT}    Replace String    ${UPDATED_CONTENT}    Variable2    ${NEW_PAREQ}
    ${UPDATED_CONTENT}    Replace String    ${UPDATED_CONTENT}    Variable3    ${NEW_TERMURL}
    # 保存修改后的HTML文件
    Create File    ${MODIFIED_HTML}    ${UPDATED_CONTENT}    encoding=utf-8

二、用Chrome执行修改后的HTML

借助SeleniumLibrary打开本地修改后的HTML文件,由于文件内置自动提交脚本,打开后会自动触发表单提交:

  1. 导入库并编写执行逻辑
*** Settings ***
Library    SeleniumLibrary

*** Test Cases ***
Run Modified HTML
    # 构造本地文件的URL(file:///开头,${CURDIR}为当前测试文件所在目录)
    ${LOCAL_URL}    Set Variable    file:///${CURDIR}/${MODIFIED_HTML}
    # 打开Chrome并加载本地HTML
    Open Browser    ${LOCAL_URL}    chrome
    # 可选:等待脚本执行完成(根据实际场景调整超时时间)
    Wait Until Page Contains Element    id=formulaire    timeout=10s
    # 执行完成后关闭浏览器
    Close Browser

关键注意事项

  • 路径适配:用${CURDIR}内置变量替代硬编码绝对路径,适配不同运行环境
  • 编码保障:保存文件时指定encoding=utf-8,避免HTML内容乱码
  • 替换准确性:确保替换标记(如Variable1)与HTML中内容完全匹配,防止替换错误

你的原始HTML代码:

<html lang="en">
<head>
  <meta charset="utf-8">
  <title>The Title</title>
  <meta name="author" content="SitePoint">
  <link rel="stylesheet" href="css/styles.css?v=1.0">
</head>
 
<body>
  <form id="formulaire" method="post" action="Variable1"> 
  <input type="hidden" id="PaReq" name="PaReq" value="Variable2"/>   
  <input type="hidden" id="TermUrl" name="TermUrl" value="Variable3"/>   
  <input type="hidden" id="MD" name="MD" value=""/>   
</form>
 
<script>
    document.forms[0].submit();
</script>
</body>
</html>

内容的提问来源于stack exchange,提问作者Youssefb hmida

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 20:55:15