我有这个:
public static void ByLinkText(string text)
{
for (var i = 0; i < 50; i++)
{
try
{
Setup.Driver.FindElement(By.LinkText(text)).Click();
return;
}
catch (Exception)
{
}
}
}
(中间的奇怪代码是 selenium - 让我们跳过它,这里不是这种情况)
好的,所以我有这个ByLinkText()
方法,你在这里看不到的是,我无限重复这个方法,直到这个中间的东西正确执行,然后再点击它return
。
所以:这个中间代码没有正确执行,我想知道为什么,那我在做什么?我在 catch 部分放了一个断点。怎么了?什么都没有(并且ByLinkText()
仍然无限地继续下去!)。
现在,你会告诉我“嘿!中间代码没有扔任何东西!”,但是哦,甜蜜的祝福......中间代码可以做两件事:要么向我扔东西,要么按照它应该的方式做(provid1和证明2 )。
所以最后,这到底是怎么回事?关于断点。只要我在上面设置断点return
(就在神奇代码之后!),代码就会正确执行!在程序世界中,断点如何修复我的应用程序!?