0

WebDriver와 FireFox 드라이버를 사용하여 사용자 에이전트를 설정했습니다. 모바일 사이트로 리디렉션되는 것으로 예상되는 여러 iPhone 및 Android 휴대 기기 용 여러 사용자 에이전트가 있습니다.webdriver firefoxprofile 사용자 에이전트가 예상대로 작동하지 않습니다.

번호 :

FirefoxProfile profile = new FirefoxProfile(); 
profile.setPreference(userAgentOverride, userAgent); 
WebDriver driver = new FirefoxDriver(profile); 

다음의 코드는 I는 (URL 목록 통해 반복 루프에 대한 래핑) 각 URL

driver.navigate().to(url); 

I 루프로 이동하는 데 사용하는 구문은 대부분 모바일 사이트 (m.somesite.com)로 리디렉션되는 URL 목록 인 을 통해 표시되지만 메인 사이트로 리디렉션해야하는 URL이 몇 개 있습니다. 예. www.somesite.com/full-site는 모바일 장치의 기본 사이트로 리디렉션됩니다.

내 문제는 일단 URL 중 하나가 메인 사이트로 리디렉션되면 목록의 나머지 URL이 더 이상 모바일 링크로 리디렉션되지 않습니다. 나는 메인 페이지로 리다이렉트하는 URL을 제거하려고 시도했다. 그런 다음 모든 URL이 예상대로 리다이렉션되었다.

이것은 버그입니까? 아니면 예상 되나요? 나는 을 사용자 에이전트로 리다이렉트하는 것을 허용하고 리다이렉트 후에도 메인 사이트로 을 보내고 작업을 계속할 수 있다고 생각한다.

+1

['driver.manage() .deleteAllCookies()'] (http://selenium.googlecode.com/svn/trunk/docs/api/java/org/openqa/selenium/WebDriver.Options.html# deleteAllCookies % 28 % 29) 페이지로 이동 한 후 어떻게되는지 알려주십시오. –

+0

그건 속임수 였어. 감사. Slanec에 추가하고 싶다면 확인해 보겠습니다. – Green

+0

향후 독자에게 유용한 답이 추가되었습니다. 나는 그것이 도움이 되었기 때문에 기쁘다! –

답변

1

마음에 오는 첫 번째 용의자는 쿠키입니다. 사이트는 똑똑해 지려고하고, 설정을 사용하여 쿠키를 저장하며 (모바일 장치가 있지만 전체 사이트를보고 싶음) 두 번째로 페이지를 방문하면 쿠키에서 설정을 가져오고 설정을 취소합니다 다시 확인하셔야합니다.

저장된 모든 쿠키를 제거해야하는 페이지로 이동 한 후 driver.manage().deleteAllCookies()을 시도하십시오.