我复制了一个共享链接,现在我需要知道他是否真的复制了所有 细节,包括小细节。 如何检查两个页面是否相等?
我试图做类似的事情,它可以工作吗?
driver.Navigate().GoToUrl("my-url");
IWebElement sourcePage = driver.FindElement(By.CssSelector("body"));
driver.FindElement(By.ClassName("share-link")).Click();
driver.Navigate().GoToUrl(Clipboard.GetText());
IWebElement copiedPage = driver.FindElement(By.CssSelector("body"));
// The test
if (copiedPage.Equals(sourcePage))
{
// The pages are equal
}
else
{
// Pages not equal
}
答案 0 :(得分:0)
HTML页面通常只是很长的多行字符串。只需将它们都加载到内存中并进行比较即可。但是请注意,当您不期望使用字符串时,字符串的求值往往不相等,而且字符串越长,错误/意外负值就越有可能成为可能。
您可能希望实际找到不同的行。这将是一个非常不同的问题,但是可以通过将页面变成string[]
或List<Strings>
,然后比较每个元素/行来完成。
如果您经常进行这种比较,则提前计算双方的哈希值可能会有所帮助。仅查看哈希值,就可以快速发现页面是否不同。如果哈希值是相同的,您仍然可以进行字符串比较,因为可能会发生大肠菌病。