iT邦幫忙

0

PYTHON 於spyder使用

  • 分享至 

  • xImage

您好:
使用sypder 學習python
有看到 intilegt自動提示有開
https://ithelp.ithome.com.tw/upload/images/20240918/20104095GraOF8dLZu.png

但余下面例題中,卻無法提示.getchildren():
請問這要如何處理?

謝謝
https://ithelp.ithome.com.tw/upload/images/20240918/20104095WCyhASaXW4.png

ccutmis iT邦高手 2 級 ‧ 2024-09-19 12:29:24 檢舉
intelligent 功能有啟動 它有提示就是證明
沒有彈出你要的選項 要嘛是它不 intelligent 要嘛是你用錯方法
其實你應該先問自己要的是什麼
-----
img 的爸爸是 a,a的兒子有 img 跟 p,然後你用 xpath 定位到 img節點,再問 img 的爸爸的兒子是誰... 我是誰我在哪??
-----
其實應該問你要抓的是什麼,比如我想取得的是 a 子節點的 p,那可以直接用 xpath 定位到 a,然後用 a.getchildren() 去取子結點,我試過下列code 可正常運行,提供您參考:

tag_a= tree.xpath("/html/body/section[2]/table/tr[2]/td[1]/a")[0]
# print(tag_a.tag)
# print(tag_a.getchildren())
print([i.text for i in tag_a.getchildren() if i.tag=='p'])

印出:
['ChatGPT 開發手冊 Turbo×Vision 進化版—用 OpenAI Chat/Assistants API‧Function calling 設計 GPTs action‧LINE/Discord bot‧股市分析/自動助理']
noway iT邦研究生 1 級 ‧ 2024-09-19 20:52:09 檢舉
您好:
目前我的問題在於
for x in tag_img.getparent() ---> 可以GET 出現.getparent() 提示

for x in tag_img.getparent().getchildren() -->.getparent().get 不會出現.getchildren() 提示

然後我再測試單獨 tag_img.getparent().getchildren()
不要於for 下
他就可以出現提示.getchildren()
謝謝
ccutmis iT邦高手 2 級 ‧ 2024-09-20 11:53:40 檢舉
結論: 你用錯方法。還有智能提示只是個工具,有提示功能增加工作效率是加分,但不用過度依賴,用記事本同樣可以寫程式。
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友回答

立即登入回答