>

개인 모드에서 두 개의 창을 동시에 열려면 어떻게해야합니까?

카피 바라의 방법 ( 링크 )

>

open_new_window

새 창을 열지 만 매개 변수를 허용하지 않습니다.

또한 시도 :

   page.execute_script 'window.open(link, "mywindow", "private=yes");'

그러나 여전히 새 창이 비공개 모드가 아닙니다.

사용 중 :

  • 카피 바라 (2.11.0)
  • 셀레늄 웹 드라이버 (2.53.4)
  • Firefox v46

어떤 아이디어?

  • 답변 # 1

    개인 모드 창과 비 개인 모드 창을 만들려면 두 개의 세션과 두 개의 드라이버 등록이 필요합니다. 수동 세션 관리 기능이있는 Capybara, selenium-webdriver 및 Firefox의 최신 릴리스에서는 다음과 같이 수행 할 수 있습니다.

    Capybara.register_driver :selenium_firefox_private do |app|
      firefox_options = ::Selenium::WebDriver::Firefox::Options.new
      firefox_options.args << "-private"
      Capybara::Selenium::Driver.new(app, browser: :chrome, options: firefox_options)
    end
    
    

    그리고 테스트에서 개인 창이 필요할 때 개인 창에 대한 새 세션을 만듭니다

    # Assuming you already have a session going and are interacting with the page
    # with `Capybara.javascript_driver = :selenium` or equivalent set
    page.find(...) # everything called on page is happening in the original non-private session
    private_session = Capybara::Session.new(:selenium_firefox_private, Capybara.app)
    private_session.visit(...) # anything called on private_session will happen in the private firefox instance
    
    

    다른 옵션은 Capybaara.using_driver 를 사용하는 것입니다

    Capybara.using_driver(:selenium_chrome_private) do
      # everything in this block would happen in a private browsing session that is auto created by Capybara (if it hadn't already been created)
      page.visit('/')
    end
    
    

    사용하지 않는 구식 버전에서도 마찬가지이지만 드라이버 등록시 Selenium 구성이 다를 수 있습니다.

  • 이전 wpf - 소켓을 사용할 때 viewmodel의 C # PorpertyChanged가 null입니다
  • 다음 maven - Jenkins에서 Declerative Pipeline의 여러 단계에서 객체/속성을 재사용