Нуждаюсь в помощи дешифруя отслеживание стека C#

Просто попробуйте и поймайте:

try {
        WebDriverWait wait = new WebDriverWait(Drivers.getDriver(), 10);
        wait.until(ExpectedConditions.visibilityOf(position_header));
        wait.until(ExpectedConditions.visibilityOf(player_header));
        wait.until(ExpectedConditions.visibilityOf(num_of_players));
        wait.until(ExpectedConditions.visibilityOf(leaderboard_picks_header));
        System.out.println("Leaderboard is now displayed");

        return true;
    }
    catch (Exception e){
        return false;
    }

Надеюсь, это поможет вам!

6
задан Jon Tackabury 6 April 2009 в 20:17
поделиться

3 ответа

Похоже, что этот код не является истинной причиной проблемы. Посмотрите, помогает ли одна из этих страниц:

Обновление: Фиксированный URL к первой странице.

8
ответ дан 9 December 2019 в 20:49
поделиться

У меня была похожая проблема, и я нашел виновника в нашем коде.

Использованная техника: 0. Убедитесь, что в Spy ++ есть только два неуправляемых потока с элементами управления (WinForms и GDI +):

public static class ThreadingHelper_NativeMethods
{
   [DllImport("user32.dll")]
   public static extern bool IsGUIThread(bool bConvert);
}

вызовите это из потока пользовательского интерфейса при init:

// This code forces initialization of .NET BroadcastEventWindow to the UI thread.
// http://social.msdn.microsoft.com/Forums/en-US/netfxbcl/thread/fb267827-1765-4bd9-ae2f-0abbd5a2ae22
if (ThreadingHelper_NativeMethods.IsGUIThread(false))
{
    Microsoft.Win32.SystemEvents.InvokeOnEventsThread(new MethodInvoker(delegate()
    {
    int x = 0;
    }));
}
  1. Запомните управляемый идентификатор потока пользовательского интерфейса в одноэлементном классе.

  2. Поиск всех пользовательских элементов управления, определенных в нашем коде. В конструкторе каждого элемента управления перед вызовом InitializeComponent () я поместил код, который проверяет текущий идентификатор потока по отношению к основному идентификатору потока. Если они не равны, Assert (false).

  3. Подписаться на SystemEvents.UserPreferencesChanging. Debug.Assert (false) в обработчике: это происходит до SystemEvents.UserPreferencesChanged, поэтому, надеюсь, отладчик остановится здесь.

  4. Проверьте список подписчиков SystemEvents в отладчике. Найти подписчика в словаре _handles словаря. Открытие SynchronizationContext каждого обратного вызова должно выявить проблему: тот же идентификатор потока, что и для элемента управления, созданного в потоке без пользовательского интерфейса. SystemEvents выполнит обработчик событий в этом потоке, заблокировав его для потока пользовательского интерфейса.

1
ответ дан 9 December 2019 в 20:49
поделиться

The other answer comes from this Aaron Lerch. I really like the "filtered breakpoint on someone else's code" part. I think it would've saved me a couple of days.

http://www.aaronlerch.com/blog/2008/12/15/debugging-ui/

3
ответ дан 9 December 2019 в 20:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: