[問題] selenium webdriver 啟動後網域問題?

看板Python作者 (加油!)時間5年前 (2018/09/03 14:57), 5年前編輯推噓5(5029)
留言34則, 3人參與, 5年前最新討論串1/1
最近在做一個小project 在local端(mac)運行沒問題 放到VM(REHL7)上花了不少時間終於解決環境問題 但是卡在selenium webdriver 啟動後,網域會出問題 問題是這樣 VM本身有需要設定proxy 才能連到外網或內網,Firefox or Chrome有設定一個proxy url 的dat檔才能上網 我經過交叉比較,我發現我可以用firefox or chrome在瀏覽器 上得了公司網站 內部登入網站 但當我用selenium webdriver啟動之後,我截圖,發現我是被轉到一個public頁面 跟我用我手機LTE 去相同url是同一個畫面 我一開始在code裡面加上proxy設定,結果返回的是一個空白頁面 所以我認為是 當我啟動program之後 是不是直接變成在外網的狀態? 感覺好怪... -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 67.161.5.197 ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1535957858.A.6CC.html

09/03 15:48, 5年前 , 1F
不能自己機器跑proxy service然後VM透過你的機器出去嗎?
09/03 15:48, 1F

09/03 15:49, 5年前 , 2F
VM網路是bridge還是NAT出去啊?
09/03 15:49, 2F

09/04 04:26, 5年前 , 3F
VM 在data center, VM要設proxy 才能連內網加外網。br
09/04 04:26, 3F

09/04 04:26, 5年前 , 4F
owser 要設定URL, .dat一個連結 才能上網(內和外)
09/04 04:26, 4F

09/04 04:28, 5年前 , 5F
確認過,單獨開browser 去同一個公司連結沒問題,但se
09/04 04:28, 5F

09/04 04:28, 5年前 , 6F
lenium 跑的就會被deny 或是跑到外網的頁面(跟我手機
09/04 04:28, 6F

09/04 04:28, 5年前 , 7F
上一樣網站出現一樣的畫面)
09/04 04:28, 7F

09/04 04:29, 5年前 , 8F
另外在REHL,browser 不會pop up模擬,我都需要靠截
09/04 04:29, 8F

09/04 04:29, 5年前 , 9F
圖debug lol
09/04 04:29, 9F

09/04 04:30, 5年前 , 10F
您對selenium and wbdriver 熟嗎 可以私下請教? 謝
09/04 04:30, 10F

09/04 04:30, 5年前 , 11F
09/04 04:30, 11F

09/04 09:21, 5年前 , 12F
你瀏覽器怎樣設定 webdriver 就做一樣的設定
09/04 09:21, 12F

09/04 09:22, 5年前 , 13F
你 chrome 和 firefox 沒帶 proxy 當然連不出去
09/04 09:22, 13F

09/04 09:27, 5年前 , 14F
你用 .get 可以切換網址阿
09/04 09:27, 14F

09/04 09:38, 5年前 , 15F
不是proxy 問題,沒設proxy 還是可以上google, yahoo
09/04 09:38, 15F

09/04 09:38, 5年前 , 16F
page
09/04 09:38, 16F

09/04 10:17, 5年前 , 17F
我現在是 可以取得正確的網址,但頁面截圖出來是空白
09/04 10:17, 17F

09/04 10:17, 5年前 , 18F
的,感覺是跳到一個空白的頁面.. 理論上是這樣 我URL
09/04 10:17, 18F

09/04 10:17, 5年前 , 19F
設定google 內網一個網址,他會跳到這個內網網址,然
09/04 10:17, 19F

09/04 10:17, 5年前 , 20F
後轉到sso login的網址,但他好像在內網網址那邊就停
09/04 10:17, 20F

09/04 10:17, 5年前 , 21F
下來了 回傳的網址是內網網址,但這不應該的@@
09/04 10:17, 21F

09/04 11:03, 5年前 , 22F
也許您已經嘗試過了,但我還是問一下,--proxy-server=
09/04 11:03, 22F

09/04 11:03, 5年前 , 23F
"http=xx.xx.xx.xx:xx;https=xx.xx.xx.xx:xx"
09/04 11:03, 23F

09/04 11:04, 5年前 , 24F
加到webdriver的option這個方法也嘗試過嗎?
09/04 11:04, 24F

09/04 11:05, 5年前 , 25F
不太懂「設定google 內網一個網址」是什麼意思?
09/04 11:05, 25F

09/04 11:07, 5年前 , 26F
或是你可以用devtool看到底是哪段code把你轉去別的網址
09/04 11:07, 26F
是的,我嘗試過 設定google 內網一個網址就比如說https://google/clouddeveloper.com 在google內網情況下 如果我還沒有sso login google的話,你輸入這個連結他會跳到sso login page 在google外網情況下 你去這個連結,可能就直接deny你連線,不然就是跳到一個 google cloud頁面etc

09/04 12:07, 5年前 , 27F
癥結應該是 "url 的 .dat" 是啥東西
09/04 12:07, 27F

09/04 12:16, 5年前 , 28F
根據你的敘述,應該是開啟瀏覽器瀏覽網頁會先進行 SSO
09/04 12:16, 28F

09/04 12:17, 5年前 , 29F
認證,SSO 認證的彈出視窗應該是同於分頁
09/04 12:17, 29F

09/04 12:18, 5年前 , 30F
用 window_handles 確認是否多於一個,若是,則使用
09/04 12:18, 30F

09/04 12:18, 5年前 , 31F
.switch_to_window 指定 handle id 進行切換
09/04 12:18, 31F

09/04 12:19, 5年前 , 32F
之所以你看到白色畫面,是因為在等你 SSO 認證吧
09/04 12:19, 32F
.dat 檔 是一種資料檔 目前問題已經解決了,我設定好 proxy連結到.dat 這段沒有問題 但我一直無法pass的原因是... selenium 是需要類似x-windows來work,去模擬網頁 我一直用ssh 連到那個machine來執行,selenium好像在用ssh連線會有問題 我會發現是因為我突然想說我用vnc的terminal來run code 結果就成功了==

09/04 12:48, 5年前 , 33F
所以是ssh x11 forwarding的問題?
09/04 12:48, 33F

09/04 12:49, 5年前 , 34F
那用pyvirtualdisplay把display關掉也許就好了吧
09/04 12:49, 34F
我在rehl底下,從來沒跑出過瀏覽器windows,或許 我之前有試過什麼display off 但可能沒效或我當下也沒設 proxy所以失敗就刪除,我待會試試 ※ 編輯: MIKEmike07 (100.1.180.88), 09/04/2018 13:07:59
文章代碼(AID): #1RZDjYRC (Python)