내 창에서 사용자를 사이트에 로그인하는 단추를 설정합니다. 버튼을 클릭하면 label.Content = "logging in..."
을 변경 한 다음 셀렌을 사용하여 크롬 드라이버를 열고 사이트에 로그인 한 후 중지합니다. 문제는 레이블이 다음 방법이 완료 될 때까지 변경되지 않는다는 것입니다. 하지만 다음 방법을 통해 성공 또는 실패에 대한 레이블 변경이 기본적으로 발생하므로 기본적으로 UI에 레이블이 표시되지 않습니다.다음 메서드가 완료 될 때까지 레이블이 변경되지 않습니다.
내 로그인이 UI와 동일한 스레드에서 작동하므로 UI 로깅 시간에 사용할 수 없다는 점을 고려하십시오. 하지만 프로그램이이 상태가되기 전에 제 라벨이 바뀌어야했습니다.
또한 실행하기 전에 메서드에 레이블을 넣거나 시도 할 레이블을 설정할 때까지 기다리는 동안 Thread.Sleep(2000);
을 추가했습니다. 일하지 않았어.
그리고 sendusername()
의 스레드를 변경하려고 시도했지만 레이블 변경이 발생했지만 로그인과 암호가 올바르게 전송되지 않았습니다.
그 이유가 무엇이라고 생각하십니까? 방법 내부의 모든 코드가 실행될 때까지
public void BtnSubmit_OnClick(object sender, RoutedEventArgs e)
{
if (TxtUsername.Text.Length<3 || TxtPassword.Text.Length<3)
{
MessageBox.Show("You need to fill both boxes!");
}
else if (!TxtUsername.Text.Contains("@"))
{
MessageBox.Show("You need to add valiable e-mail adress");
}
else
{
LblLogin.Content = "Logging in..."; // changes label content
sendUsername(); // opens chromedriver and logs us into the website
((MainWindow)Application.Current.MainWindow).tradeUrl = tradeUrl;
((MainWindow) Application.Current.MainWindow).username = username;
((MainWindow) Application.Current.MainWindow).login = TxtUsername.Text;
((MainWindow)Application.Current.MainWindow).password = TxtPassword.Text;
}
}
Stack Overflow에서 질문 한 사항 중 하나에 대한 답을 수락하지 않은 것으로 나타났습니다. https://stackoverflow.com/help/someone-answers를 읽어보십시오. 귀하가 직접 질문에 답변을해도 귀하가 게시 한 답변을 수락해야합니다. 그러면 문제가 해결 되었음이 분명하게 표시됩니다. –
전혀 답이없는 높은 비율의 질문은 질문을하는 습관을 개선하는 데 시간을 할애해야한다는 것을 암시합니다. 여기에 있지 말아야 할 질문을하지 않고 묻는 질문이 잘 나타나는지 확인하는 것을 포함합니다. 자세한 내용은 [ask] 및 기타 링크 (https://stackoverflow.com/help/asking)를 참조하십시오. –