在Python中使用Selenium時,我試圖自動化我的GUI,該GUI在左側窗格上有一個菜單,在右側窗格上有一個內容區域。下面是正在使用的版本: 硒:2.42.1 的Python:2.7.8 火狐:28在Selenium中加載框架時Firefox無響應
當點擊左側菜單,頁面內容區域加載。菜單是像Windows資源管理器一樣的多級可擴展的。你點擊1級和2級菜單出現。同樣,當你點擊2級菜單時,你會看到3級菜單。
我可以去菜單中的第3級。在這個級別上,有一個屏幕名稱。當我點擊它時,預計屏幕將在頁面右側的內容區域中打開。但我在這裏面臨一個問題。內容區域中的頁面無法加載,並且Firefox無響應。我必須手動殺死Firefox。螢火顯示下方的關聯區域的格式時,我手動打開屏幕(不使用Selenium):
[div id="contentArea"]
[iframe id="main"]
[html class="dj_gecko dj_contentbox"]
dbody class="mainBody appworks tundra"]
[div id="mainBC"]
[div id="contentBC]
[div id="contentBottom"]
[span class="dijit dijitReset dijitLeft dijitInline dijitButton"]
[span class="dijitReset dijitRight dijitInline"]
[span class="dijitReset dijitInline dijitButtonNode"]
[button id="insertButton" class="dijitReset dijitStretch dijitButtonContents"]
[span class="dijitReset]
[span id="insertButton_label]
我要點擊這個insertButton內容區域,但是當我在硒運行它沒有加載框架。
下面是我的Python代碼:
driver.find_element_by_xpath("//*[text()=\"Diameter\"]").click() # These are menus - level 1
driver.find_elements_by_xpath("//*[text()=\"Configuration\"]").click() # level 2
driver.find_element_by_xpath("//*[text()=\"Application Ids\"]").click() # level 3
try:
print "before switch"
self.driver.switch_to_frame(0) # There is only one frame in Contet area
print "after switch"
driver.find_element_by_css_selector("#insertButton").click()
print "after finding Insert"
#WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.XPATH, "//*[text()=\"Insert\"]"))).click()
#driver.find_element_by_xpath("//*[text()=\"Insert\"]").click()
except Exception as e:
print e
沒有被抓例外但Firefox停止響應。我也沒有看到在Firefox中的「反應遲鈍的腳本」警告。我懷疑這是Firefox,Python或Selenium的不兼容版本。我在Selenium頁面上對它們進行了重新驗證,但它們似乎是兼容的。在日誌文件中找不到「插入後」。