방금 클릭을 시뮬레이션하기 위해 element.InvokeMember("click");
이라고 말하면서 알 수 있습니다. element
은 HtmlElement
입니다. 하지만 실제로 필요한 것은 새 창에서 링크를 여는 것이지만 기본 브라우저에서는 링크를 열지 않고 다른 프로그램에서는 WebBrowser
을 작성합니다. 때로는 그냥 element.GetAttribute("href");
을 호출하여 href 속성을 얻은 다음 반환 된 URL로 이동하지만 일부 까다로운 웹 페이지는 이러한 방식으로 작동하지 않습니다. 쿠키 및 세션과 관련이 있습니다.C# WebBrowser에서 "새 창에서 링크 열기"를 시뮬레이트하는 방법은 무엇입니까?
답변
그냥 NewWindow2 이벤트를 처리 그것에 웹 브라우저가 폼/탭을 생성하고 새 창에서 요청의 대상으로 웹 브라우저 사용 : 예를 들어,이 dotBrowser에서 구현 않는 방법 참조 . 예를 들어 http://www.codeproject.com/KB/cpp/ExtendedWebBrowser.aspx을 확인하십시오.
System.Windows.Forms.WebBrowser
은 매우 제한된 통제이며 가장 큰 문제점 중 하나입니다. 다중 탭핑을 지원합니다. 그것은 전혀 지원하지 않습니다.
정상적으로 작동 시키지만 충분한 성공을 거두지는 못했지만 제 3 자 제어를 사용해 보시기 바랍니다.
해결 방법 : 각 페이지의 <a>
(또는 필요한 항목 중 일부)의 클릭 이벤트에 가입하고 새 창을 수동으로 만드십시오. , 1이 2
foreach (HtmlElement tag in webBrowser.Document.All)
{
tag.Id = String.Empty;
switch (tag.TagName.ToUpper())
{
case "A":
{
tag.MouseUp += new HtmlElementEventHandler(link_MouseUp);
break;
}
}
}
private void link_MouseUp(object sender, HtmlElementEventArgs e)
{
mshtml.HTMLAnchorElementClass a = (mshtml.HTMLAnchorElementClass)((HtmlElement)sender).DomElement;
switch (e.MouseButtonsPressed)
{
case MouseButtons.Left:
{
// open new tab
break;
}
case MouseButtons.Right:
{
// open context menu
break;
}
}
}
그러나 실제로는 새 창에서 링크를 열 때 "// 새 탭 열기"행의 코드는 무엇입니까? – Juan
@jsoldi : 위의 링크 # 2를 따르십시오. 귀하의 경우 - 문자열을 수락하는 생성자 (URL)를 사용하여 새 양식을 작성합니다. 그 양식은 새로운 WebBrowser를 만들고 그 URL로 이동합니다. – abatishchev
글쎄, 그 문제는 일부 페이지에서 쿠키를 사용하고 그런 링크를 복사하여 새 창에서 열지 못하게하는 것입니다. 그게 내가 이베이에서 "다음"링크 (결과의 다음 페이지로 나를 보내 줄 링크)의 href를 복사 한 다음 새 창에서 그 페이지로 이동하면 항상 나를 착륙시킬 때까지 내가했던 일이다. 첫 페이지에. 이유는 모르겠다. 세션과 쿠키와 관련이 있다고 생각합니다. – Juan
- 1. 새 창에서 하이퍼 링크 C#
- 2. 새 창에서 링크 열기
- 3. 새 창에서 HTML 링크 열기
- 4. 한 창에서 다른 창으로 mousemove 이벤트를 시뮬레이트하는 방법은 무엇입니까?
- 5. 같은 창에서 새 탭으로 링크 열기
- 6. 브라우저 툴바가없는 새 창에서 html 링크 열기
- 7. 새 창에서 iframe 내부 링크 열기
- 8. 응답 리디렉션 - 새 창에서 링크 열기
- 9. TextMate의 새 창에서 파일을 보는 방법은 무엇입니까?
- 10. 새 창에서 스레드 만들기 C++
- 11. System.Windows.Forms.WebBrowser 동일한 세션 또는 동일한 세션의 새 창에서 링크 열기
- 12. C#에서 터플과 세트를 시뮬레이트하는 방법은 무엇입니까?
- 13. 동일한 새 창에서 새 창을 여는 방법은 무엇입니까?
- 14. PHP를 통해 새 창에서 외부 링크를 여는 방법은 무엇입니까?
- 15. php iframe이 포함 된 새 창에서 동적 링크 열기
- 16. Java로 기본 파일 열기를 찾는 방법은 무엇입니까?
- 17. jQuery로 이벤트를 시뮬레이트하는 방법은 무엇입니까?
- 18. UITabBarViewController의 동작을 시뮬레이트하는 방법은 무엇입니까?
- 19. 긴 문서로드를 시뮬레이트하는 방법은 무엇입니까?
- 20. 외부 API를 시뮬레이트하는 방법은 무엇입니까?
- 21. 새 하위 창에서 파일 업로드를 구현하는 방법은 무엇입니까?
- 22. 새 UIWebView에서 링크 열기?
- 23. GUI 창에서 C 프로그램을 만드는 방법은 무엇입니까?
- 24. 새 창에서 사용자 지정 사이트 작업 링크 열기
- 25. SSRS의 새 창에서 보고서 링크 URL을 열 수 없음
- 26. 새 브라우저 창에서 링크 열기에 대한 사용성 연구
- 27. 새 브라우저 창에서 PDF 내 링크 열기 (silverPDF.dll을 사용하는 PDFsharp)
- 28. 스프링 MVC : 핸들러 메소드의 새 브라우저 창에서 링크 열기
- 29. 새 창에서 iFrame 내의 특정 도메인에 대한 링크 열기
- 30. jQuery를 사용하여 새 창에서 모든 외부 링크 열기
좋습니다, 다른 방법으로 해결할 수 있습니다. 웹 브라우저의 콘텐츠를 복제 할 수 있다면 복제본의 링크를 따라갈 수 있습니다. 현재 URL을 새로 고침 할 수도 있지만 경우에 따라 지저분해질 수 있습니다. 모든 것을 같은 상태로 복제하는 방법이있을 수 있습니다. – Juan