임시 프로필이 포함 된 디렉토리를 지정하는 방법이 내장되어 있지 않으므로 Selenium-webdriver 원숭이 패치를해야한다고 생각합니다.
def layout_on_disk
profile_dir = @model ? create_tmp_copy(@model) : Dir.mktmpdir("webdriver-profile")
FileReaper << profile_dir
install_extensions(profile_dir)
delete_lock_files(profile_dir)
delete_extensions_cache(profile_dir)
update_user_prefs_in(profile_dir)
profile_dir
end
임시 폴더에 의해 생성된다 :
Dir.mktmpdir("webdriver-profile")
배경
Seleium-webdriver (따라서 Watir과 - webdriver)의 방법을 이용해서 임시 파이어 폭스 프로필 directory in \selenium-webdriver-2.26.0\lib\selenium\webdriver\firefox\profile.rb
을 작성
tmpdir library에 정의되어 있습니다. Dir.mktmpdir
메서드의 경우 두 번째 선택적 매개 변수는 부모 폴더 (즉, 임시 프로필을 만들 위치)를 정의합니다. 이 경우와 같이 값을 지정하지 않으면 Dir.tmpdir
에 임시 폴더가 만들어지며 상황에 따라 'tmp'폴더가됩니다.
솔루션
임시 폴더가 생성되는 경우, 당신은 원숭이 Dir.mktmpdir
에 대한 호출에 원하는 디렉토리를 지정하는 layout_on_disk
방법을 패치 할 수 있습니다 변경합니다. TMPDIR는, 루비, 셀레늄을 원하는 자신의 임시 파일을 쓰기에 충분하다
require 'watir-webdriver'
module Selenium
module WebDriver
module Firefox
class Profile
def layout_on_disk
#In the below line, replace 'your/desired/path' with
# the location of where you want the temporary profiles
profile_dir = @model ?
create_tmp_copy(@model) :
Dir.mktmpdir("webdriver-profile", 'your/desired/path')
FileReaper << profile_dir
install_extensions(profile_dir)
delete_lock_files(profile_dir)
delete_extensions_cache(profile_dir)
update_user_prefs_in(profile_dir)
profile_dir
end
end
end
end
end
browser = Watir::Browser.new :ff
#=> The temporary directory will be created in 'your/desired/path'.