이것은 해결되었습니다. 내 baseURL이 잘못되었습니다. 그리고 그것은 올바른 사이트의 기본 URL로 리디렉션되는 다른 사이트로 이동했습니다. 감사.
내부 변수와 함께 driver.get ()을 사용하는 데 문제가 있습니다. 예를 들면 :
driver.get(baseURL+othervariable);
실행하면 브라우저가 baseURL로만 이동합니다.
그 줄 앞에 콘솔 인쇄를 추가하여 다음과 같이 연결이 정상인지 확인했습니다.
System.out.println(baseURL+othervariable);
driver.get(baseURL+othervariable);
콘솔에서 연결이 정상임을 알 수 있습니다.
이상한 점은 다음과 같이 기본 URL없이 URL을 직접 삽입하는 것입니다.
driver.get("http://examplesite.com/subsection");
효과가있다.
이 문제에 직면 한 이유는 무엇입니까? 확인해야하는 URL 배열을 열기 위해 for주기를 사용하고 있기 때문입니다.
따라서 내 프로그램의 구조는 다음과 같습니다.
for (i=0 ; i<URLs.lenght ; i++) {
driver.get(baseURL + URLs[i]);
// then do some stuff
}
그러나 브라우저는 항상 baseURL 만 엽니 다.
이상한 점은이 웹 사이트의 낮은 환경에서 이것을 실행할 때 아무런 문제가 없다는 것입니다. 라이브 사이트에서 문제가 발생합니다.
사이트의 일부 구성으로 인해 Selenium이 원하는 URL로 이동하지 못할 수 있습니까?
그러나 URL을 driver.get ()에 직접 String으로 삽입하면 라이브 사이트에서도 예상대로 작동하는 이유를 이해할 수 없습니다.
그래서 문제는 내가 변수를 내부에 삽입 할 때이고 라이브 사이트에만 있다는 것입니다.
나는 완전히 헷갈 린다. Firefox 드라이버, Chrome 드라이버 등을 사용해 보았습니다. 모두 동일합니다.
나는 또한 시도했다 :
String finalURL = baseURL+URLs[i];
driver.get(finalURL);
그리고 전체 URL을 열지 않습니다. 나는 많은 테스트 에서이 문제가 없었습니다. 여러 번 변수와 연결을 사용하여 driver.get ()을 실행했는데이 문제에 직면 한 적이 없습니다.
누군가 나에게 힌트를 줄 수 있습니까? URL을 변수로 보낼 때만 문제가 나타나지만 문자열로 보낼 때는 왜 나타나지 않습니까?
Selenium 3.0 btw를 사용하고 있습니다.
당신의 도움을 주셔서 감사합니다.
URL 구문 (특히 \ 및 //)을 확인하십시오. 일부 웹 사이트의 경우 잘못된 URL이 baseURL 페이지로 리디렉션됩니다. AngularJS 프로젝트에서 작업하는 경우 약간의 대기 시간이 필요할 수 있습니다 (ngWebDriver 시도) 행운을 빕니다!
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다