के साथ सेलेनियम का उपयोग कर मौजूद है या नहीं, मैं उपयोगकर्ताओं को प्रबंधित करने वाले वेब पेज के लिए पायथन भाषा में सेलेनियम के साथ एक परीक्षण लिखने की कोशिश कर रहा हूं। इस पृष्ठ में कोई उपयोगकर्ता के लिए भूमिका जोड़ सकता है और यदि इसे जोड़ने के दौरान कोई भूमिका मौजूद है, तो एक चेतावनी बढ़ जाती है। मुझे नहीं पता कि अलर्ट जावास्क्रिप्ट अलर्ट या वेब पेज का तत्व है या नहीं। मैं स्वचालित रूप से अलर्ट के अस्तित्व की जांच करना चाहता हूं, क्योंकि सूची में भूमिका की जांच समय बर्बाद हो जाती है और इसमें भारी भार होता है। मैं इस की कोशिश की:जांचें कि क्या कोई चेतावनी पाइथन
browser = webdriver.Firefox()
browser.get("url")
browser.find_the_element_by_id("add_button").click()
try:
alert = browser.switch_to_alert()
alert.accept()
print "alert accepted"
except:
print "no alert"
लेकिन यह काम नहीं किया है और मैं "UnexpectedAlertPresentException" मिला है। मैं भी इस की कोशिश की:
browser = webdriver.Firefox()
browser.get("url")
browser.find_the_element_by_id("add_button").click()
s = set(browser.window_handles)
s.remove(browser.current_window_handle)
browser.switch_to_window(s.pop())
लेकिन मैं एक ही अपवाद मिला है। इसके अतिरिक्त, मैंने फ़ायरबग के साथ अलर्ट तक पहुंचने का प्रयास किया ताकि यह जांच सके कि क्या मैं इसके गुणों के साथ पहुंच प्राप्त कर सकता हूं, लेकिन राइट क्लिक अक्षम कर दिया गया था। मुझे अन्य भाषाओं में भी बहुत जल्दी समाधान की आवश्यकता है। मैं वैसे भी दृष्टिकोण को समझ सकता हूं। मैं किसी भी मदद की सराहना करता हूं।
from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.common.exceptions import TimeoutException
browser = webdriver.Firefox()
browser.get("url")
browser.find_the_element_by_id("add_button").click()
try:
WebDriverWait(browser, 3).until(EC.alert_is_present(),
'Timed out waiting for PA creation ' +
'confirmation popup to appear.')
alert = browser.switch_to.alert
alert.accept()
print("alert accepted")
except TimeoutException:
print("no alert")
WebDriverWait(browser,
)
पर के लिए इंतजार करेंगे:
क्या आपने क्लिक और switch_to_alert के बीच एक छोटी देरी की कोशिश की है? – Richard
अभी तक नहीं, इस सुझाव @ रिचर्ड के लिए धन्यवाद। मुझे लगता है कि मैं उस कोड का उपयोग कर सकता हूं जो एआर। मुझे –
@ रिचर्ड को 'switch_to_alert()' 'स्वीकार करने()' के बीच देरी होनी चाहिए? अन्यथा कोई समस्या हो सकती है, आपको लगता है? –