1
我正在使用Selenium的Python實現編寫腳本。當腳本到達這一行時:Selenium webdriver掛在element.click
driver.find_element_by_id('ctl00_Top_EntryButton').click()
頁面加載模態對話框,但python腳本掛在命令上。 我調試了一下,它似乎卡住了socket.py while while循環,我想它正在等待一些輸入。
有沒有人有什麼想法?
編輯
我加入一些代碼清晰:
driver = webdriver.Firefox()
driver.get("https://www.somesite.com")
driver.switch_to_frame("mainIFrame")
driver.find_element_by_id('ctl00_Top_EntryButton').click()
很難知道沒有看到一些代碼 –
我增加了一些更多的代碼... – noamelf
嘗試改變'driver.find_element_by_id( 'ctl00_Top_EntryButton')。點擊()''由driver.execute_script(「的setTimeout(函數(){ document.querySelector(\「#ctl00_Top_EntryButton \」)。click()},1000);「)'。這樣做,但通過注入JavaScript。因爲它延遲執行1秒,並且JS執行爲異步,所以rember添加睡眠呼叫。在我的情況下,問題是由於單擊按鈕關閉窗口和Selenium在單擊(和其他一些操作)之後等待頁面加載而引起的。在Selenium「核心」中關閉封閉的無限循環後等待頁面加載。 – Misaz