Hướng dẫn selenium switch to popup window python - chuyển selenium sang python cửa sổ bật lên

Làm cách nào để chuyển sang cửa sổ bật lên trong chương trình Selenium dưới đây. Tôi đã tìm kiếm tất cả các giải pháp có thể nhưng không thể có được đầu của tôi xung quanh chúng. Xin vui lòng giúp đỡ!!

from selenium import webdriver
from splinter import Browser
from selenium.webdriver.common.keys import Keys
handle = []
driver = webdriver.Firefox()
driver.get("http://example.com/test.aspx")

driver.find_element_by_link_text("Site Actions").click()
driver.find_element_by_link_text('Edit Page').click()
select = driver.find_element_by_id('ctl00_PlaceHolderMain_ctl35_ctl00_SelectResult')
for option in select.find_elements_by_xpath('//*[@id="ctl00_PlaceHolderMain_ctl35_ctl00_SelectResult"]/option'):
            if option.text != 'Channel':
                option.select() # select() in earlier versions of webdriver

driver.find_element_by_id('ctl00_PlaceHolderMain_ctl35_ctl00_RemoveButton').click()

parent_h = driver.current_window_handle

#click that activates the popup.
checkIn = driver.find_element_by_id('qaCheckin_anchor').click()

# click on the link that opens a new window
handles = driver.window_handles # before the pop-up window closes
driver.remove(parent_h)
driver.switch_to_window(handles.pop())
driver.implicitly_wait(10) # seconds
driver.find_element_by_xpath('/html/body/form/div[3]/table/tbody/tr[4]/td/table/tbody/tr[3]/td[2]/input').click()
driver.find_element_by_name('btnClose2').click()
driver.close();
# do stuff in the popup
# popup window closes
driver.switch_to_window(parent_h)
# and you're back

driver.switch_to_default_content()

Hỏi ngày 30 tháng 9 năm 2015 lúc 5:26Sep 30, 2015 at 5:26

Hướng dẫn selenium switch to popup window python - chuyển selenium sang python cửa sổ bật lên

import.zeeimport.zeeimport.zee

9152 Huy hiệu vàng9 Huy hiệu bạc13 Huy hiệu đồng2 gold badges9 silver badges13 bronze badges

6

Về mặt trình duyệt, bật lên không phải là một cửa sổ, nó là một cảnh báo. Vì vậy, bạn nên sử dụng sau:

driver.switch_to_alert()

Đã trả lời ngày 30 tháng 9 năm 2015 lúc 9:04Sep 30, 2015 at 9:04

Hướng dẫn selenium switch to popup window python - chuyển selenium sang python cửa sổ bật lên

Mahsum akbasmahsum akbasMahsum Akbas

1.3373 huy hiệu vàng19 Huy hiệu bạc36 Huy hiệu đồng3 gold badges19 silver badges36 bronze badges

2

Xem thảo luận

Cải thiện bài viết

Lưu bài viết

  • Đọc
  • Bàn luận
  • Xem thảo luận

    Cải thiện bài viết

    Lưu bài viết

    Đọc
    First, we have to get the current window handle from a webdriver which can be done by: 
     

    driver.current_window_handle

    Bàn luận
     

    driver.window_handles

    Nhiều trang web sử dụng đăng nhập bằng phương tiện truyền thông xã hội để làm cho quá trình đăng nhập dễ dàng cho người dùng. Trong hầu hết các trường hợp, nếu nút được nhấp thì một cửa sổ bật lên mới được mở khi người dùng phải nhập thông tin đăng nhập người dùng của họ. Theo cách thủ công, người ta có thể chuyển Windows trong trình duyệt và nhập thông tin đăng nhập cần thiết để đăng nhập. Nhưng trong trường hợp truy cập web không được giám sát bằng WebDriver, trình điều khiển không thể tự động chuyển Windows. Chúng ta cần thay đổi tay cầm cửa sổ trong trình điều khiển để nhập thông tin đăng nhập trong cửa sổ bật lên. Selenium có chức năng chuyển đổi cửa sổ để truy cập nhiều cửa sổ bằng cùng một trình điều khiển. Đầu tiên, chúng ta phải lấy tay cầm cửa sổ hiện tại từ một webDriver có thể được thực hiện bởi: & nbsp; & nbsp;
     

    driver.switch_to.window(login_page)

    Chúng ta cần lưu nó để có được tay cầm cửa sổ hiện tại. Sau khi cửa sổ bật lên xuất hiện, chúng tôi phải lấy danh sách tất cả các tay cầm cửa sổ có sẵn ngay bây giờ. & NBSP; & nbsp;
    Note: To run this code selenium library and geckodriver for firefox is required. The installation of selenium can be done using Python third-party library installer pip. To install selenium run this command 
     

    pip install selenium

    Sau đó, chúng tôi có thể lấy tay cầm cửa sổ của trang đăng nhập từ danh sách này và sau đó chuyển đổi điều khiển. Để chuyển đổi tay cầm cửa sổ, sử dụng: & nbsp; & nbsp;
    Let’s see the code for login on zomato.com using Facebook.
     

    Python3

    from selenium import webdriver

    from

    driver.switch_to_alert()
    
    1import
    driver.switch_to_alert()
    
    3

    driver.switch_to_alert()
    
    4
    driver.switch_to_alert()
    
    5
    driver.switch_to_alert()
    
    6

    driver.switch_to_alert()
    
    7
    driver.switch_to_alert()
    
    5
    driver.switch_to_alert()
    
    9

    driver.current_window_handle
    0
    driver.current_window_handle
    1
    driver.current_window_handle
    2

    driver.current_window_handle
    3
    driver.current_window_handle
    4
    driver.current_window_handle
    5

    driver.current_window_handle
    0
    driver.current_window_handle
    1
    driver.current_window_handle
    2

    driver.current_window_handle
    3
    driver.window_handles
    0
    driver.current_window_handle
    5

    driver.window_handles
    2
    driver.window_handles
    3
    driver.window_handles
    4
    driver.window_handles
    5

    driver.window_handles
    6
    driver.window_handles
    7
    driver.window_handles
    8
    driver.switch_to_alert()
    
    5
    driver.switch_to.window(login_page)
    0

    driver.switch_to.window(login_page)
    1
    driver.switch_to.window(login_page)
    2
    driver.switch_to_alert()
    
    5
    driver.switch_to.window(login_page)
    4

    driver.switch_to.window(login_page)
    5

    driver.switch_to.window(login_page)
    6
    driver.switch_to.window(login_page)
    7
    driver.switch_to.window(login_page)
    8
    driver.switch_to.window(login_page)
    9
    driver.switch_to_alert()
    
    5
    pip install selenium
    1

    pip install selenium
    2
    driver.switch_to_alert()
    
    5
    pip install selenium
    4
    pip install selenium
    5

    driver.switch_to.window(login_page)
    6
    driver.switch_to.window(login_page)
    7
    pip install selenium
    8
    driver.switch_to.window(login_page)
    9
    driver.switch_to_alert()
    
    5
    pip install selenium
    1

    from2

    driver.switch_to_alert()
    
    5
    pip install selenium
    4
    pip install selenium
    5

    driver.current_window_handle
    3from7from8

    driver.current_window_handle
    3selenium 0selenium 1

    driver.current_window_handle
    3selenium 3
    driver.current_window_handle
    5

    selenium 5

    driver.current_window_handle
    0selenium 7
    driver.current_window_handle
    2

    selenium 9

    driver.switch_to_alert()
    
    5
    driver.current_window_handle
    3import2___

    driver.switch_to.window(login_page)
    6
    driver.switch_to.window(login_page)
    7import6import7import8import9

    webdriver0

    Đầu ra: & nbsp; & nbsp; 
     

    Hướng dẫn selenium switch to popup window python - chuyển selenium sang python cửa sổ bật lên


    Làm cách nào để chuyển sang cửa sổ bật lên trong selen?

    Làm thế nào để xử lý cửa sổ bật lên trong selen..
    Người lái xe. getWindowHandles (); Để xử lý các Windows đã mở bởi Selenium WebDriver, bạn có thể sử dụng trình điều khiển. getWindowHandles () để chuyển đổi giữa các cửa sổ ..
    Người lái xe. getWindowHandle (); Khi trang web được tải, bạn có thể xử lý cửa sổ chính bằng cách sử dụng trình điều khiển. getWindowHandle () ..

    Selenium có thể xử lý cửa sổ bật lên không?

    Có, có thể xử lý các cửa sổ bật lên dựa trên Windows trong Selenium WebDriver.Đôi khi khi nhấp vào liên kết hoặc một nút, một cửa sổ khác được mở.Nó có thể là một cửa sổ bật lên với thông tin hoặc một quảng cáo.Các phương thức GetWindowHandles và GetWindowHandle được sử dụng để xử lý các cửa sổ trẻ em.. Sometimes on clicking a link or a button, another window gets opened. It can be a pop up with information or an advertisement. The methods getWindowHandles and getWindowHandle are used to handle child windows.

    Làm cách nào để chuyển đổi giữa các cửa sổ trong Python?

    window_handles được sử dụng để làm việc với các cửa sổ khác nhau.Nó lưu trữ ID cửa sổ được sử dụng để chuyển đổi.Phương thức switch_to.window được sử dụng để chuyển đổi giữa các cửa sổ với sự trợ giúp của ID Window_Handles.switch_to. window method is used for switching between the windows with the help of window_handles ids.

    Chúng ta có thể tự động hóa bật lên trong selen không?

    Xử lý các cảnh báo này trong selen là một chút khó khăn và vượt ra ngoài khả năng của WebDriver, vì Selenium chỉ là một công cụ kiểm tra tự động hóa cho các ứng dụng web và chúng tôi cần tiện ích của bên thứ ba để tự động hóa cửa sổ bật lên dựa trên cửa sổ.Một vài trong số các tiện ích đó là lớp tự động và robot trong Java.we need third party utility to automate window based popups. A few of those utilities are AutoIT and Robot Class in Java.