-2
我有一个while循环使用Selenium检查网页上的字符串。返回的值与正在评估的值完全相同。但由于某种原因,这是说字符串不相等。但他们是平等的。代码如下。我已经尝试了几件事情来解决这个问题,但没有运气。我究竟做错了什么?所以基本上,IF声明是说红色不等于红色。如果语句评估错误
private void LookForString()
{
try
{
while (true)
{
IWebElement curStatus = ieDriver.FindElement(By.Id("sitestatus"));
if (!curStatus.Text.Equals(r.statusClosed))
{
break;
}
}
}
catch (Exception) { RestartProgram(); }
_“这是说,字符串不相等”_ - 然后他们是不相等的。 _“但他们是平等的” - 不,他们不是。你只认为他们是。不可能解释你为什么弄错了,因为你没有提供一个可靠地再现问题的好的[mcve]。但我向你保证,C#不是随意地弄糊涂两个字符串值是否相等。 –
'curStatus'和'r.statusClosed'的值是什么? –
这可能是字符串中空白的问题。 'curStatus.Text'和'r.statusClosed'的示例值是什么?根据[this](https://seleniumhq.github.io/selenium/docs/api/dotnet/html/P_OpenQA_Selenium_IWebElement_Text.htm),对于'IWebElement'的'Text'属性,前导和尾随空白被删除,而其余的都崩溃了。 – Poosh