老師請問一下,我在VS code 安裝 selenium輸入 pip install selenium 卻無法安裝成功,它顯示 ERROR: Could not install packages due to an OSError: [WinError 5] 存取被拒。: 'c:\\programdata\\anaconda3\\lib\\site-packages\\certifi-2020.12.5-py3.8.egg-info\\dependency_links.txt' Consider using the `--user` option or check the permissions. 想請問能有辦法解決嗎@@ 有刪掉重載過了還是一樣
@@cwpeng-course 老師,請問您的意思是我的chromedriver的路徑沒有被python搜尋到嗎?那我import sys 並且把chromedriver的路徑加入,還是不能用。 錯誤訊息是: DeprecationWarning: executable_path has been deprecated, please pass in a Service object driver=webdriver.Chrome(path)
請問老師為何會出現這狀況呢? ImportError: cannot import name 'webdriver' from partially initialized module 'selenium' (most likely due to a circular import) (/Users/chenguanyu/my_projects/selenium learning/selenium.py) chromedriver有和檔案放在一起
提醒大家一下, 新的selenium 版本已經不要設定driver的路徑,系統會自動detect, 所以在driver的設定可以改成以下:
driver = webdriver.Chrome()
感謝你提供的資訊,不然會顯示這段錯誤"SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape"。好奇問一下,以邏輯判斷來說,在python程式中指定一個絕對路徑不是也可以嗎?還是這會有什麼衝突,謝謝!!!!
您好 請問一下如果會閃退 該怎麼解? 有出現以下錯誤 謝謝
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.InvalidArgumentException: Message: invalid argument
現在好像不需要DRIVER,更新chrome 到最新版,直接改成這樣就行
from selenium import webdriver
driver = webdriver.Chrome() #auto detect driver
driver.get("www.google.com/")
driver.save_screenshot("ss_google.png") #做ss
driver.close()
請問
options=Options()
options.chrome_executable_path="D: \Training\Codes\python\(chromedriver.exe"
這段不用寫了嗎
謝謝彭彭老師的教導,講的非常的清楚,十分感謝!!
不會,很高興對你有幫助 :)
老師 最近開始聽你的課 真的好有趣啊!
程式可以做到的事情好多
真的超棒的!
哈哈哈,恭喜你踏入程式領域 :)
老師您好
下列指令執行有錯誤訊息:
options.chrome_executable_path ="C:\Users\user\Downloads\VSCode\chromedriver.exe"
改為下列指令執行即可以
options.chrome_executable_path ="C:\\Users\\user\\Downloads\\VSCode\\chromedriver.exe"
很好哦,能解決就好,確實字串中寫兩個斜線是用來做跳脫,用來表達一個斜線。
全部实际操作了一遍,非常感谢彭彭老师
:)))))
彭彭老師 謝謝教學
不客氣,謝謝你的回饋 :)
謝謝老師,教得很清楚!!
我這邊有一個問題,請問操作chrome和edge的基本指令都是一樣的嗎?
一樣的。
Selenium教學耶!!!太棒了!!!
希望對你會有點幫助 :)
等了幾年,終於教這個,太感動了
哈哈哈,好哦,希望對你有點幫助 :)
老司機阿 等了幾年... 小孩都上大學了
老師你好,我的chrome版本如下
版本 118.0.5993.118 (正式版本) (64 位元)
但我無法找到合適的chromedriver
請問該如何處理呢
同問同問 我是改用edge 😅
@@yuisanjpearthquake
原來不是只有我遇到,請問可以分享程式碼嗎我有找到對應的版本,可惜還是運作不了
現在應該可以在這個網頁找到適合的版本
googlechromelabs.github.io/chrome-for-testing/
彭彭老師想請問我把CHROME DRIVER放C碟 CHROME DRIVER的路徑/要改成\才能執行 不然會跑出SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape 放D碟就沒事 請問這是甚麼問題呢?
嗯嗯嗯,無法完全確定,可以知道的是路徑中有包含一些程式編碼無法解讀的符號 ~
在路徑前面+個r試試看,原因: 編譯器將路徑中的 C:\Users\ 視為Unicode-Escape編碼的跳脫字元,因此\U被當成Unicode Code字串的起點,依照定義後面必需接8位數字 (ex. \U01000001) 來Decode,在此後面接了一串字母,因此產生Decode失敗的錯誤訊息。
@@Mark-x2k6y 感謝分享,說得很清楚,我也有收穫到了!
@@翁嘉偉-w4y r"C:\Users\Eric\Desktop\beeline.txt",這樣子試試看
@@翁嘉偉-w4y r+在字串的前面
最近google更新成版本116之後,chromedriver不知道怎麼下載使用,希望老師有空能夠教學~
建議就直接更新到 117 版,然後從以下網址下載對應的 Driver
googlechromelabs.github.io/chrome-for-testing/
一切都很好,就是更新太慢了。哈哈。加油,彭彭老师!
哈哈哈,好哦,我盡量 XDDDD
謝謝彭彭老師
謝謝你的回饋 :)
我不知道哪裡做錯了 但明顯跟教學15:39畫面 不一樣的地方是我的fome並不是紫色、options.chrome_executable_path是呈現藍色,然後嘗試打開網頁哪這個指令python selenium-start.py什麼都不會顯示...
有沒有可能你真的把from打成你上面的fome
是的
老師你好,Chrome Driver跟 Python Selenium都安裝完了,但程式重複打了5-6次都還是跳出這個:
SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape
也有試過簡化的程式,請問是哪邊出錯了呢
可以嘗試把chromedriver的網址路徑的\改成\\
感謝 @user-pb3nf2hy3p 分享 :)
老師請問一下,我在VS code 安裝 selenium輸入 pip install selenium
卻無法安裝成功,它顯示
ERROR: Could not install packages due to an OSError: [WinError 5] 存取被拒。: 'c:\\programdata\\anaconda3\\lib\\site-packages\\certifi-2020.12.5-py3.8.egg-info\\dependency_links.txt'
Consider using the `--user` option or check the permissions.
想請問能有辦法解決嗎@@ 有刪掉重載過了還是一樣
試著用系統管理員的身份打開 VS Code 或者 cmd 命令列工具,再執行指令安裝。
老師,我是window的電腦,我也把所有程式打上去了,我也確定把chromedriver放在跟py檔同一個資料夾了。但還是出現[ERROR2] NO such file or directory 想請問有甚麼辦法解決
我也是同樣問題
這個和 Python 程式的執行路徑有關。通常是一開始安裝 Python 的時候有 Add Python to Path,然後執行的時候請先打開專案資料夾,然後直接輸入 python 檔案名稱,來執行程式。
@@cwpeng-course 老師,請問您的意思是我的chromedriver的路徑沒有被python搜尋到嗎?那我import sys 並且把chromedriver的路徑加入,還是不能用。
錯誤訊息是:
DeprecationWarning: executable_path has been deprecated, please pass in a Service object
driver=webdriver.Chrome(path)
一開始也是相同問題,後來改變執行方式,原本用老師的python+檔名,後來按視窗右上角的執行符號就可以了,但老師的視窗好像沒有這個符號
老師我想問,我安裝完後執行出現No module named 'selenium',但我確實有安裝到。
要看看是否使用了虛擬環境或其他 Python 相關工具的設定影響到你目前程式的執行環境~
請問老師為何會出現這狀況呢?
ImportError: cannot import name 'webdriver' from partially initialized module 'selenium' (most likely due to a circular import) (/Users/chenguanyu/my_projects/selenium learning/selenium.py)
chromedriver有和檔案放在一起
自己的程式檔案不要叫做 selenium.py 會和套件名稱產生衝突。
請問老師為甚麼我把Chromedriver 解壓縮後放入專案資料夾了,但是VS Code中沒有出現,導致無法下一步
VS Code 要先從主選單的【檔案】中選開啟資料夾,把專案資料夾打開,或者就是要確認是否真的放進去了。
@@cwpeng-course 謝謝老師,我成功找到了,但是照寫範例程式中出現以下錯誤,
File "C:\Users\ibsen\python_traning\practice14.py", line 9
options.chrome_executable_path="C:\Users\ibsen\python_traning\chromedriver.exe"
^
SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape
PS C:\Users\ibsen\python_traning> python practice14.py
求解,感恩~
我在執行檔入徑把\改成\\,成功執行了
@@garyhuang9705 讚讚,感謝分享,有成功就好 :)
@@garyhuang9705感謝,這邊的問題和你一樣,也成功執行
15:53 老師 我發現 我把driver.close() 註解掉後,執行程式 網頁也是會自動關掉耶~ 請問是什麼原因~ 謝謝
前面的設定加上 options.add_experimental_option("detach", True) 試試看。
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By
from selenium.webdriver.chrome.options import Options
from selenium import webdriver #從library中引入webdriver
options=Options()
options.add_experimental_option("detach", True) #防止開啟網頁後關閉網頁
driver = webdriver.Chrome(options=options)
driver.get('www.google.com.tw/')
我試驗這樣是可行的, 請試試看
請問老師可以做個貪吃蛇的小遊戲嗎?
感謝建議,讓我考慮看看 XDDDD
想問一下 Chrome Driver的版本現在好像很缺 像我現在是124版,但官網上好像只有123 125 126 就是沒有124;公司電腦是109 但舊版本只到105,請問有差嗎? 我剛剛下載了125版,可以跑,只是會有警語,這樣會有甚麼問題嗎? 謝謝幫忙
讚啦..等好久了~
讚讚!
方便知道老師使用之版本嗎
測試 3.9.13 一樣會報錯呢
PS D:\Training\Codes\Python> [1272:6816:0706/203154.392:ERROR:device_event_log_impl.cc(214)] [20:31:54.391] USB: usb_device_handle_win.cc:1048 Failed to read descriptor from node connection: 連結到系統的某個裝置失去作用。 (0x1F)[1272:6816:0706/203154.394:ERROR:device_event_log_impl.cc(214)] [20:31:54.394] Bluetooth: bluetooth_adapter_winrt.cc:1074 Getting Default Adapter failed.
我也不太確定這是怎麼回事,查了一下資料,或許試試看把程式簡化成:
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
driver=webdriver.Chrome()
driver.get("www.google.com/")
driver.close()
不要自己去做 Options 的設定,讓它去抓預設值。
@@cwpeng-course 我發現是我要將Python加入環境變數內 就可以work了
我有嘗試重裝Python Add Path 感謝老師
@@陳昱誠-f4g 讚讚,有解決就好 :)
@@陳昱誠-f4g 請問具體來說是怎麼做呢 ? 我有嘗試重裝python並勾選add path但還是會出現這個錯誤提示,已經確認過環境變數有pyhton的路徑了
@@龍蝦蝦-l9j 我是拿安裝檔先解除安裝 (當然你也可以用指令下uninstall)再重新官網載最新3.10重裝,確認環境變數沒有一些複雜python路徑 列表最上面確實是我剛剛載的x:/py310/scripts/那個路徑 確認Python - - version 結果真的是3.10 應該就醬
實際操作馬上擷取到"是不是機器人"的頁面,笑死我了XDD
感謝分享你遇到的狀況 XDDD
老師請問可以教pygame嗎?
估計短期間之內應該很難 @@a
敲碗求下一集
正在準備中 XDDD
老師 我的VSCODE程式打開 沒有您左邊那排專案耶
是跳過建立專案檔的步驟了嗎
要先建立專案資料夾再打開。
彭彭老師可以出Appium的嗎?
APP的自動化測試
謝謝你的建議,我會考慮看看的 :)
想請問這個是什麼意思"selenium" is not accessedPylance
Import "selenium" could not be resolved from sourcePylance
我是用vscode
你用了一個叫做 Pylance 的 VS Code 擴充套件,他會幫你檢查程式問題但不一定都正確,程式能正常運作就代表你的程式沒問題。
謝謝老師
不會 :)
謝謝老師,請問儲存位置可以更改嗎?
可以的 ~
老師 我的報錯是 Message: Service chromedriver unexpectedly exited. Status code was: -6 請問是甚麼意思
只有這一行我也無法判斷具體的原因,有沒有更多錯誤訊息或者是程式碼分享出來看看 ~
我的chrome 瀏覽器是64bit window版本, 請問可以怎樣做?
一樣哦,就去下載 windows 版本的 driver 來使用就可以了,它只有一種而已。
請問我想要網址關掉後又自動點開的話,這樣程式要怎麼寫?
driver.get() 多寫幾次,其實就是不斷的重新載入網頁了。
彭彭老師好,剛好前幾天用臉書請教您一個selenium的問題,最近就出了這個教學! 若您有空,再去陌生訊息裡面替我解惑 感激不盡m(__ )m
很高興剛好對上你的需求,之後還會有一系列的內容。會建議您有問題直接透過留言發問,因為我這邊的訊息很多,必須有規則的處理事情才不容易出狀況,在 UA-cam 上的事情就在 UA-cam 上處理這樣。
自己版本為116但官方只提供到114 請問怎麼辦
沒辦法,建議就安裝官方有支援的版本來處理 ~
這部影片是不是要放進Python 資料分析、數據分析的播放清單啊?
確實沒錯,感謝提醒 :)
您好,我已经把这个系列全部的看了一次,有关的操作也打了几片(我需要的),我现在想达到这个要求,就是当手机上的屏幕,出现相关的数字,或者的文字(这些自己设置),可以发出声音提醒,手机是安卓的,我不清楚怎么做,请给一个指导。手机屏幕在某个app上,出现相关的文字,数字,就给一个提醒。感谢您能给我回复。我已经迷茫了好久了。谢谢您了
你要解决的问题其实距离基础还蛮遥远的,可能得更近一步定义你所谓的萤幕上的文字是网页呢还是原生桌面上的,解法会很不同。所以可能会需要找专业人士仔细咨询。
@@cwpeng-course 行吧。我怎么感觉还好吧。并不是很遥远。我用的是opencv tesseract 好像就比较容易解决,先跑起来再说。不知道您给我什么意见指导一下。感谢🙏。
感谢鹏鹏老师的教程。我想请问一下,Selenium怎么可以避开bot detection?
理由很单纯,Selenium 完全是透过浏览器来进行网页操作,对于网站后端来说等同于一般使用者在使用浏览器,因此难以辨认这是否是一个 Bot。
@@cwpeng-course 谢谢老师。我在用Selenium的时候,有的时候会被辨认为Bot。比如北美这边的一些房产网站。
@@mingweiluo1761 可以试着控制连线的速率,不要全速去执行,让每次连线都间隔一段乱数的时间。更进阶一点的就是动态变换 IP 地址,但这个就不是单纯写程式能解决的。
@@cwpeng-course 谢谢彭彭老师,我去尝试一下。
一直出現
TypeError: 'module' object is not callable
找了好久才發現
driver=webdriver.Chrome(options=options)
這行Chrome的C沒有大寫 :O
恭喜你找到細節的問題 :)
為什麼其他的網頁都可以,中國信託網頁會顯示系統忙碌中 ....................求解 (哭哭 ,感謝彭彭大大selenium 教學
XDDDD 試著找找看如何讓 Selenium 等待一段時間後,再抓取資料,我會在後續的教學中多提一些可能的狀況 ~
新版的selenium一堆東西直接不一樣 連chatgpt都不能問了 哭阿
拍拍,建議多參考官方的文件嘍 ~
酷~~~企鵝
酷企鵝可愛 ~~~~~
謝謝彭彭老師
不會 :)