[文档]defget_salt_and_execution_from_html(html:str)->tuple[Optional[str],Optional[str]]:"""从 HTML 内容中提取 salt 和 execution 的值。 该方法使用正则表达式在给定的 HTML 字符串中查找 `pwdEncryptSalt` 和 `execution` 的值。 Args: html (str): 包含 salt 和 execution 值的 HTML 字符串。 Returns: tuple[Optional[str], Optional[str]]: 一个元组,包含提取出的 salt 和 execution 值。 如果未找到,则对应的值为 None。 Raises: HTMLExtractionError: 当未能成功提取到 salt 或 execution 中的任何一个时抛出。 """salt_match=re.search(r'id="pwdEncryptSalt" value="([^"]*)"',html)execution_match=re.search(r'name="execution" value="([^"]*)"',html)salt=salt_match.group(1)ifsalt_matchelseNoneexecution=execution_match.group(1)ifexecution_matchelseNoneifsaltisNoneorexecutionisNone:raiseHTMLExtractionError("未能从 HTML 中提取到 salt 或 execution。")returnsalt.strip()ifsaltelseNone,execution