python-判斷alter是否存在

from selenium import webdrivercss

 

import timeweb

from selenium.webdriver.support.ui import WebDriverWait瀏覽器

from selenium.webdriver.support import expected_conditions as ECapp

from selenium.webdriver import firefoxcurl

from selenium.webdriver.common.keys import Keyspost

 

 

 

 

 

#firefoxdriverpath=os.path.abspath("/Applications/Firefox.app/Contents/MacOS/firefoxdriver")測試

#os.environ["webdriver.firefox.driver"]=firefoxdriverpathui

#driver=webdriver.Firefox(firefoxdriverpath)url

#driver=webdriver.Firefox()spa

driver=webdriver.Firefox()

driver.get("http://www.baidu.com")

#點擊打開搜索設置

driver.find_element_by_css_selector("#u1 > a[name='tj_settingicon']").click()

driver.find_element_by_css_selector("a.setpref").click()

#點擊保存設置

driver.implicitly_wait(10)

#driver.find_element_by_css_selector("div#gxszButton a.prefpanelgo[href='#']").click()

driver.find_element_by_link_text("保存設置").click()

time.sleep(2)

#driver.find_element_by_css_selector("div#gxszButton a.prefpanelgo[href='#']")

#獲取網頁上的警告信息

#alert=driver.switch_to_alert().text()

if EC.alert_is_present:

    print("Alert exists")

    alert=driver.switch_to_alert()

    print (alert.text)

    alert.accept()

    print("Alert accepted")

else:

    print("NO alert exists")

 

'''

try:

    WebDriverWait(driver,10).until(EC.alert_is_present(), 

                                  'Timed out waiting for PA creation ' +

                                  'confirmation popup to appear.')

    print("0")

    alert=driver.switch_to_alert().text() 

    print("1")  

    text=alert.text()

    print(text)

except TimeoutException:

    print("no alert")

 

#接收警告信息

 

 

#alert.accept()

#print("3")

#獲得文本信息並打印

 

#alert=driver.switch_to_alert()

 

#print("5")

#取消對話框(若是有的話)

#alert=driver.switch_to_alert()

#alert.dismiss()

 

#輸入值(若是有的話)

#alert=driver.switch_to_alert()

#alert.send_keys("xxx")

'''

driver.quit()

若是switch_to_alert不工做,最重要的問題就是,有1個以上的瀏覽器開啓,致使alert抓取不到。而且在使用switch_to_alert的時候時間會比較長一些,須要等待一下子才能完成accept等的工做。

緣由是由於多個瀏覽器開啓致使沒法準肯定位到哪一個瀏覽器上,例如同時開啓了兩個firefox的瀏覽器,webdriver就沒法定位到要測試的那個瀏覽器上,也就沒法正常的獲取到測試的那臺瀏覽器上的alert窗口。

相關文章
相關標籤/搜索