亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Selenium + Python - 無法與 JavaScript 交互/點擊

Selenium + Python - 無法與 JavaScript 交互/點擊

HUX布斯 2023-05-25 15:56:00
問題:無法找到/單擊/發送到特定網頁上任何元素的鍵。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我在這里缺少什么?句法?如果有人可以闡明我應該朝哪個方向前進,將不勝感激。謝謝。
查看完整描述

1 回答

?
幕布斯6054654

TA貢獻1876條經驗 獲得超7個贊

我能夠解決這個問題并學到一些東西。我采用的 JS“理論”沒有任何意義,因為 driver.execute_script() 沒有按照我的想法使用,而是注入代碼或查找元素。

其次,解決方案實際上是框架 :)

我非常專注于在我最初發現的兩個框架之間切換,以至于有一刻我認為這兩個框架里面可能有更多框架!

基本上就是這樣,切換到主框架后,我再次切換到主框架內的第二個框架,并且能夠通過 xpath 找到。


查看完整回答
反對 回復 2023-05-25
  • 1 回答
  • 0 關注
  • 202 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號