慕桂英4014372
2024-01-27 16:38:53
我簡直要瘋了才能在特定網頁中找到某個元素。這是一個“Enter”按鈕,但我一直無法找到它。錯誤信息:selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"css selector","selector":"input"}(會話信息:chrome=86.0.4240.111)我將與您分享 ChroPath Extension 可能的選擇器:HTML 檢查代碼“輸入”按鈕:<input type="button" value="Entra" onclick="parent.location.href='site.site.site'">1°嘗試 - 使用 REL XPATH 的 Python 代碼:elem = browser.find_element_by_xpath('//body[1]/div[1]/div[1]/div[2]/div[1]/table[1]/tbody[1]/tr[1]/td[2]/table[1]/tbody[1]/tr[3]/td[1]/input[1]')2°嘗試 - 使用 ABS XPATH 的 Python 代碼:elem = browser.find_element_by_xpath('/html[1]/body[1]/div[1]/div[1]/div[2]/div[1]/table[1]/tbody[1]/tr[1]/td[2]/table[1]/tbody[1]/tr[3]/td[1]/input[1]')我檢查過是否有 iframe,但找不到。請幫我。
3 回答

拉莫斯之舞
TA貢獻1820條經驗 獲得超10個贊
我同意@josifoski。使用自定義 xpath 比瀏覽器自動生成更好。因此,在您的情況下嘗試使用以下 xpath: xpath = '//input[@type="button"][@value="Entra"]'
會更容易理解和支持。

阿晨1998
TA貢獻2037條經驗 獲得超6個贊
我得到了它。
當我告訴你源代碼中沒有任何 iframe 時,我錯了。
有2個!
因此,這是單擊“Enter”按鈕的正確代碼:
browser.switch_to.frame(0)
browser.switch_to.frame(1)
elem = browser.find_element_by_css_selector('td:nth-child(2) input')
elem.click()
為了弄清楚這一點,我用 Selenium Ide for Chrome 瀏覽器記錄了我的步驟,然后導出了 python 源代碼,我看到了 2 個 switch_to.frame 函數;然后我做了2加2...
正如您所看到的,最后,我根據導出的記錄源代碼使用了 css_selector 參數。
我希望它對其他人來說清晰且有用。
非常感謝您的幫助,并對不完整的信息表示歉意。
添加回答
舉報
0/150
提交
取消