2017-10-20 72 views
0

我正在使用Python和Selenium。我的問題是我無法打開彈出的模式,我無法點擊它中的按鈕。如何使用Selenium在Python中切換到模態

這是模態的元素:

這是我的代碼:

減去當然

browser = webdriver.Chrome(executable_path="D:\\sasdsa\\automate\\chromedriver_win32\\chromedriver.exe") 
user_name = browser.find_element_by_xpath("//input[@id='username']") 
user_name.send_keys("test.employee") 

##Password 
pass_word = browser.find_element_by_xpath("//input[@id='password']") 
pass_word.send_keys("123") 

##log_in = browser.find_element_by_css_selector(".btn") 
log_in = browser.find_element_by_xpath("//button[@class='btn btn-sm btn-primary btn-block']") 
log_in.click() 

##punch 
#driver.find_element_by_id("//@id='product_view') 
#To open the modal 
punch_in = browser.find_element_by_xpath("//button[@class='btn btn-success btn-sm pull-right']") 
punch_in.click() 


#cant switch to the modal to access the button 
browser.switch_to_frame("product_view") 
punch_in2 = browser.find_element_by_xpath("//button[@id='save_me']") 
punch_in2.click() 
+0

你爲什麼試圖切換到'div'作爲'iframe'? – Andersson

+0

那麼我該怎麼辦?im試着從主頁面切換到模式... –

+0

以及它應該是什麼代碼? –

回答

0

的URL刪除線下,它應該工作精細。

browser.switch_to_frame("product_view") 

你不需要在這裏做任何特別的事情。像這樣的模態對話框就像HTML頁面上的其他HTML一樣。你可以像訪問其他任何東西一樣訪問它。

說了這麼多......如果你點擊一個按鈕,等一個啓動的對話框中,你可能會添加一個WebDriverWait等待對話框要訪問它裏面的元素之前可見,等

相關問題