我有一项自动发送电子邮件报告的服务。我目前正在尝试进行一些自动化测试,以确保电子邮件中的数据正确。
我为电子邮件模板中的各种 HTML 元素分配一些唯一的 ID,然后在测试中使用 selenium 来获取这些元素,并获取文本。
这是可行的,但无论出于何种原因,我分配的 ID 在开头都有一些奇怪的字符串。例如,我的模板中有一个如下所示的元素:
<td id="siteInfo" class="site-subtitle">
然后,一旦发送电子邮件,我找到的元素如下所示:
<td id="m_-6467880284962569820siteInfo" style="font-family:'Roboto',Arial,sans-serif;font-size:16px;font-weight:600">
这是什么
m_-6467880284962569820
?它会在模板中添加我分配 ID 的每个元素的 ID。每个 ID 都是相同的,尽管每次发送电子邮件时它都会改变。
我可以很容易地忽略 ID 的这一部分,但我很好奇它来自哪里?这是我正在测试的 Gmail 帐户。
Gmail 这样做是为了区分一封电子邮件与另一封电子邮件以及更广泛的页面的样式。否则,样式可能会交互/覆盖,因为它们不在 iframe 中,但代码会被带入一页。
您还会注意到
<body>
标签已更改为 <div>
以及其他一些更改。