2013-06-14 2 views
3

나는 여러 사이트의 스크린 샷을 자동화하여 saucelabs를 사용하여 코드 변경으로 문제가 발생하지 않도록 노력하고 있습니다. 파이썬 용 webdriver를 사용하여 프로그래밍 중이며 크롬, 파이어 폭스 및 IE에서 플래시를 비활성화해야합니다. 나는 온라인에서 답을 찾기 위해 노력했지만 아무도 플래시를 사용하지 않는 것으로 보이지 않으며 플래시 객체와 만 상호 작용합니다.saucelabs/selenium webdriver에서 플래시를 사용 중지 하시겠습니까?

+0

그래서 당신은 당신이 시도 것을 공유 할 수 있습니까? – Amey

+0

그게 문제 야. 나는 어디서 시험해 볼지 전혀 알려주지 않았다. Selenium은 사용자 정의 Firefox 프로파일을로드 할 수 있지만 saucelabs는 좋지 않습니다. 또한 파이어 폭스에서만 작동합니다. 이것은 디버그 질문과 "실제로 전에 이것을 한 사람이 있습니까?" – dustyjuicebox

+1

@ user2486903, 전에 시도한 적은 있지만 번들로 제공되는 플래시 버전을 비활성화하는 매개 변수를 전달하는 것이 좋습니다. http://peter.sh/experiments/chromium-command-line-switches/#disable -bundled-ppapi-flash – Arran

답변

1

아래 코드는 크롬에서 작동하며 플래시를 비활성화하고 기본 다운로드 디렉토리를 다른 폴더로 설정합니다. 와

from selenium.webdriver.chrome.options import Options 
def _disable_flash_caps(self): 
     chromeOptions = Options() 
     # prefs = {"download.default_directory" : "C:\\temp", "profile.managed_default_content_settings.plugins": 2} 
     prefs = {"download.default_directory" : "C:\\temp", "plugins.plugins_disabled": ["Adobe Flash Player"] } 
     chromeOptions.add_experimental_option("prefs",prefs) 
     return chromeOptions.to_capabilities() 

전화를 :

if 'browserName' in cap and cap['browserName'] == 'chrome': 
    webdriver.Remote.__init__(self, sel_url, self._disable_flash_caps())