推 code0093: 感謝大大回覆 02/12 17:32
→ code0093: 我先測試某一頁,暫且忽略跳出的方塊 02/12 17:33
→ code0093: 程式26行開始爬取資料 02/12 17:34
→ code0093: 程式只爬得出第一行...然後這個頁面總共683筆,他就重 02/12 17:35
→ code0093: 複爬683次 02/12 17:35
Hi 根據 selenium 文件
https://tinyurl.com/2de8zwvf
find_elements_by_xpath() return "WebElement" list
https://tinyurl.com/15na3djs
WebElement 是一個 class
你可以使用內建的 property 比如 .text 得到文字
data = driver.find_elements_by_xpath("//div//table[@width='90%']/tbody")
print(data[0].text)
print(data[1].text)
類似這樣
"""
工廠登記編號 630209 ...
工廠登記編號 630206 ...
"""
※ 編輯: chickengod (114.25.137.58 臺灣), 02/12/2021 23:22:04
推 code0093: 感謝大大。但是我現在用for單純印出data.text是正常的 02/14 00:37
→ code0093: 但是如果data.find就又是錯誤的 如圖 02/14 00:37
→ code0093: 如果是webelement的話 那我要再更深入超多特定資料為什 02/14 00:39
→ code0093: 麼會只印出第一筆呢..還是是我電腦問題 02/14 00:39
→ code0093: 感謝大大協助 02/14 00:39
推 code0093: 我換另一種方法寫就沒問題了,但是我還是很疑惑為何用fo 02/14 00:49
→ code0093: r不行... 02/14 00:49
→ chickengod: 我猜可能跟這個有關? 02/14 02:39
→ chickengod: 會根據 xpath 寫法選擇抓整頁或者相對於元素的位置 02/14 02:39
→ chickengod: 如果都是長的像絕對路徑的xpath 02/14 02:51
→ chickengod: 大概就不管目前元素在哪 一律抓第一個 02/14 02:51
→ chickengod: 也許就能解釋為什麼你會遇到這情況 02/14 02:51
→ chickengod: 不過我是覺得以都能達到目的來說 02/14 02:51
→ chickengod: 直接抓 .text 存下來 02/14 02:51
→ chickengod: 再一次針對全部字串處理會不會執行比較快 02/14 02:51
→ chickengod: 畢竟 selenium 還要控制一個瀏覽器 多少會影響效能 02/14 02:51
推 code0093: 了解,感謝大大的用心回答 02/14 22:50
→ code0093: 目前我就要先抓text下來再分解字串 效率確實快很多 02/14 22:51
→ chickengod: ( ̄▽ ̄) okder ~ 02/14 23:41
推 kshskghs: xpath用絕對路徑較好 03/06 13:54