問題:無法找到/單擊/發送到特定網頁上任何元素的鍵。WebDriver 瀏覽器我可以與該網頁進行交互,直到我單擊打開新選項卡的某個鏈接并且從該頁面我無法執行任何操作。在這里進行廣泛研究后,我到目前為止所做的嘗試是:1- 由于打開了一個新選項卡,我已經“強制”使用driver.switch_to.window查看新選項卡的代碼,并確保我已經打印了當前頁面標題并且它是正確的。2-我已經嘗試了隱式/顯式等待(甚至time.sleep)以等待頁面加載。3- 研究將我指向 iframe.. 我沒有任何 iframe 但我已經搜索了幀數 (2) 并在兩者之間切換并嘗試使用 xpath(完整 xpath)查找元素但沒有找到。4-最大化窗口。所以我嘗試了書中的“一切”。檢查我需要交互的元素,我發現每個元素都指向帶有一些參數的 JS。 href="JavaScript:SWESubmitForm(document.SWEForm2_0,s_10,"s_2_1_96_0","VRId-0")" tabindex="2997" id="s_2_1_96_0">Track Faults進一步查看發現 s_10 是腳本中的一個變量,它具有從 s_0 到 s_14 的不同選項。var s_0 = {action:"/esales_enu/start.swe",target:"_sweview",SWECmd:"GotoView",SWEMethod:"GotoView",SWEView:"L2C Track Channel Reference View BT",SWEApplet:"L2C New CZ Home Page Applet BT",SWEReqRowId:"0",SWESP:"false",SWENeedContext:"true",SWEKeepContext:"0",SWEDIC:"false"};
var s_10 = {action:"/esales_enu/start.swe",target:"_sweview",SWECmd:"GotoView",SWEMethod:"GotoView",SWEView:"New Portal Fault Search View ORH BT",SWEApplet:"L2C New CZ Home Page Applet BT",SWEReqRowId:"0",SWESP:"false",SWENeedContext:"true",SWEKeepContext:"0",SWEDIC:"false"};所以我開始搜索并找到了driver.execute_script()并且我寫了:driver.execute_script("SWESubmitForm(document.SWEForm2_0,s_10,'s_2_1_96_0','VRId-0')")但這發生了:selenium.common.exceptions.JavascriptException: Message: javascript error: SWESubmitForm is not defined我在這里缺少什么?句法?如果有人可以闡明我應該朝哪個方向前進,將不勝感激。謝謝。
Selenium + Python - 無法與 JavaScript 交互/點擊
HUX布斯
2023-05-25 15:56:00