問題:無法找到/單擊/發(fā)送到特定網(wǎng)頁上任何元素的鍵。WebDriver 瀏覽器我可以與該網(wǎng)頁進(jìn)行交互,直到我單擊打開新選項(xiàng)卡的某個(gè)鏈接并且從該頁面我無法執(zhí)行任何操作。在這里進(jìn)行廣泛研究后,我到目前為止所做的嘗試是:1- 由于打開了一個(gè)新選項(xiàng)卡,我已經(jīng)“強(qiáng)制”使用driver.switch_to.window查看新選項(xiàng)卡的代碼,并確保我已經(jīng)打印了當(dāng)前頁面標(biāo)題并且它是正確的。2-我已經(jīng)嘗試了隱式/顯式等待(甚至time.sleep)以等待頁面加載。3- 研究將我指向 iframe.. 我沒有任何 iframe 但我已經(jīng)搜索了幀數(shù) (2) 并在兩者之間切換并嘗試使用 xpath(完整 xpath)查找元素但沒有找到。4-最大化窗口。所以我嘗試了書中的“一切”。檢查我需要交互的元素,我發(fā)現(xiàn)每個(gè)元素都指向帶有一些參數(shù)的 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進(jìn)一步查看發(fā)現(xiàn) s_10 是腳本中的一個(gè)變量,它具有從 s_0 到 s_14 的不同選項(xiàng)。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')")但這發(fā)生了:selenium.common.exceptions.JavascriptException: Message: javascript error: SWESubmitForm is not defined我在這里缺少什么?句法?如果有人可以闡明我應(yīng)該朝哪個(gè)方向前進(jìn),將不勝感激。謝謝。
Selenium + Python - 無法與 JavaScript 交互/點(diǎn)擊
HUX布斯
2023-05-25 15:56:00