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

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

python腳本打開頁面并點擊下載

python腳本打開頁面并點擊下載

慕沐林林 2022-05-24 15:09:15
我正在嘗試打開一個頁面并單擊下載按鈕。它適用于具有下載元素的頁面,但對于沒有該元素的頁面,它會引發錯誤代碼:  for i in data["allurl"]:    driver.get('{0}'.format(i))    if(driver.find_element_by_id('ContentPlaceHolder1_grdFileUpload_lnkDownload_0')):        button_element = driver.find_element_by_id('ContentPlaceHolder1_grdFileUpload_lnkDownload_0')        button_element.click()    else:        pass它應該通過而不是引發錯誤,但是當我運行它時它說:NoSuchElementException:消息:沒有這樣的元素:無法找到元素:{“method”:“id”,“selector”:“ContentPlaceHolder1_grdFileUpload_lnkDownload_0”}我該如何解決這個問題?
查看完整描述

3 回答

?
烙印99

TA貢獻1829條經驗 獲得超13個贊

driver.find_element_by_id()不返回True或False如您的 if 語句所期望的那樣。要么改變你的 if 語句,要么使用 try/except 語句。


from selenium.common.exceptions import NoSuchElementException


for i in data["allurl"]:

    driver.get('{0}'.format(i))

    try:

        button_element = driver.find_element_by_id('ContentPlaceHolder1_grdFileUpload_lnkDownload_0')

        button_element.click()

    except NoSuchElementException:

        pass


查看完整回答
反對 回復 2022-05-24
?
鳳凰求蠱

TA貢獻1825條經驗 獲得超4個贊

檢查 web 元素的長度計數。如果它大于 0,則元素可用并單擊,否則將轉到 else 條件。


for i in data["allurl"]:


    driver.get('{0}'.format(i))

    if len(driver.find_elements_by_id('ContentPlaceHolder1_grdFileUpload_lnkDownload_0'))>0:

        button_element = driver.find_element_by_id('ContentPlaceHolder1_grdFileUpload_lnkDownload_0')

        button_element.click()

    else:

        pass


查看完整回答
反對 回復 2022-05-24
?
慕哥6287543

TA貢獻1831條經驗 獲得超10個贊

from selenium.common.exceptions import NoSuchElementException    

try:

    button_element = driver.find_element_by_id('ContentPlaceHolder1_grdFileUpload_lnkDownload_0')

except NoSuchElementException:

    pass

else:

    button_element.click()

請注意,即使它按您預期的那樣工作,它也是低效的,因為您對元素執行了兩次搜索。


編輯:包括異常的導入語句


更新:作為旁注,假設中的元素data["allurl"]是 url(即字符串),則不需要字符串格式。driver.get(i)會做。并且i是變量名的糟糕選擇 - 最好使用更有意義的東西......


查看完整回答
反對 回復 2022-05-24
  • 3 回答
  • 0 關注
  • 331 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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