2016-07-08 2 views
1

셀레늄으로 자동화 된 테스트 작업을 구축 중입니다. 첫 번째 필드를 양식에 넣으면 나머지는 이전 시도를 기반으로 자동 완성됩니다. 이 문제를 해결하기 위해 필드를 지울 수는 있지만, 자동 완성을 비활성화 할 수 있다면 더 쉬울 것입니다.
Python Selenium에서이를 수행 할 수있는 방법이 있습니까?Selenium with Python을 사용하여 Firefox에서 자동 완성을 비활성화하는 방법은 무엇입니까?

편집 :

profile = webdriver.FirefoxProfile() 
profile.accept_untrusted_certs = True 
profile.set_preference("security.enable_java", True) 
profile.set_preference("plugin.state.java", 2) 
driver = webdriver.Firefox(firefox_profile=profile) 
+0

사용자 정의 미리 저장된 프로파일로 firefox를 시작합니까? – alecxe

+0

@alecxe, 새 프로필을 만듭니다. 내 편집보기 –

답변

1

browser.formfill.enable 파이어 폭스 프로파일 환경 설정을 false으로 설정하여 Firefox가 양식 입력 값을 기억하거나 자동 완성하지 않도록 요청해야합니다 :

profile.set_preference("browser.formfill.enable", "false") 
+0

코드에 실수가 있습니다. 불행히도 나는 그것을 편집 할 수 없다. "거짓"대 False 따옴표없이. – rfkortekaas

+1

@rfkortekaas 내가 기억하는 한 어느쪽으로 든 작동 할 것입니다. – alecxe

+0

나는 이것을 알지 못했다. 아마 이것은 셀레늄에서 변환이나 처리가 없으므로 Firefox 자체에서 처리 할 수 ​​있습니다. 그것을 지적 주셔서 감사합니다! – rfkortekaas

2

가장 좋은 옵션은 셀레늄 webdriver로 사용 파이어 폭스에 대한 프로필 작성하는 것입니다 : 내가 함께 프로파일을 작성하고

시작 파이어 폭스 '-p'와를 옵션을 사용하여 프로파일 매니저를 시작하고 새 사용자 정의 프로파일을 작성하십시오. 당신이 자동 완성 해제 할 수있는 옵션에서

:

로 이동 '옵션'> '개인 정보'> '역사에 대한 사용자 정의 설정을 사용하여'사용 안 함 '검색 및 역사를 형성 기억.

사용 셀레늄과 사용자 정의 파이어 폭스 프로필을 사용하려면 다음

from selenium import webdriver 
from selenium.webdriver.firefox.webdriver import FirefoxProfile 
profile = FirefoxProfile(path_to_my_profile) 
driver = webdriver.Firefox(profile) 

또는 다음과 같은 선호 셀레늄 자체 임시 사용자 정의 프로파일 (생략 'path_to_my_profile')를 생성하고 추가 할 수 있습니다

profile.set_preference('browser.formfill.enable', False) 
+0

사용자 정의 프로필을 저장할 필요없이 프로필을 만들 때이 옵션을 추가하는 방법이 있습니까? 내가 프로필을 만들 때 사용하는 코드로 게시물을 편집했습니다. –

+0

예, Firefox에서 'about : config'를 열고 '검색 및 양식 기록 기억'을 검색하십시오. 위에 사용 된대로 문자열을 복사하고 set_preference를 사용하십시오. – rfkortekaas

+0

@rfkortekaas about : config에서 "검색 및 양식 기록 기억"과 일치하는 항목이 없습니다. – alecxe

관련 문제