這是頁面下載部分的 html:
<ul id="attachment-list" class="attachmentslist"><li class="application vnd.openxmlformats-officedocument.spreadsheetml.sheet xlsx" id="attach2"><a href="./?_task=mail&_action=get&_mbox=INBOX&_uid=1&_token=ukxOEh6bQm6Iv7gN59mROEbGpTrczta3&_part=2" onclick="return rcmail.command('load-attachment','2',this)" onmouseover="rcube_webmail.long_subject_title_ex(this, 0)" title="" class="filename"><span class="attachment-name">2ART.xlsx</span><span class="attachment-size">(~740 KB)</span></a><a href="#" tabindex="0" title="Op??es" class="button icon dropdown skip-content"><span class="inner">Op??es</span></a></li>
</ul>
而且我找不到與該檔案相關的任何元素。
driver.find_element(By.XPATH, '//*[@id="attach2"]/a[2]')
輸出是:
訊息:沒有這樣的元素:無法找到元素:{"method":"xpath","selector":"//*[@id="attach2"]/a[2]"}
uj5u.com熱心網友回復:
如果我們有獨特的條目,請檢查dev tools(谷歌瀏覽器)。HTML-DOM
你應該檢查的xpath:
//ul[@id='attachment-list']//li[@id='attach2']//a[@title='Op??es']
檢查步驟:
Press F12 in Chrome-> 轉到element部分 -> 執行CTRL F-> 然后粘貼xpath并查看,如果您想要element的是否使用匹配節點突出顯示。1/1
如果它是一個獨特的匹配,然后單擊它,如下所示:
代碼試用一:
time.sleep(5)
driver.find_element(By.XPATH, "//ul[@id='attachment-list']//li[@id='attach2']//a[@title='Op??es']").click()
代碼試用2:
WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//ul[@id='attachment-list']//li[@id='attach2']//a[@title='Op??es']"))).click()
進口:
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
建議使用代碼試用 2。
如果您仍然面臨NoSuchElementException:代碼試用 1 的問題,請像這樣除錯:
如果這是唯一的//ul[@id='attachment-list']//li[@id='attach2']//a[@title='Op??es'],那么您還需要檢查以下條件。
檢查它是否在任何
iframe/frame/frameset.解決方法:先切換到iframe/frame/frameset,再與這個web元素互動。
檢查它是否在任何
shadow-root.解決方法:使用
driver.execute_script('return document.querySelector回傳一個web元素,然后進行相應操作。如果您已重定向到 a
new tab/ or new windows并且您沒有切換到該特定new tab/new window的 ,否則您可能會遇到NoSuchElement例外。解決方法:先切換到相關的視窗/標簽。
如果您已切換到 iframe 并且新的所需元素不在同一個 iframe 背景關系中,則首先
switch to default content與它進行互動。解決方案:切換到默認內容,然后切換到相應的 iframe。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/448265.html
