Sử dụng SeleniumBasic mở trình duyệt chrome theo profile chrome

Liên hệ QC

quockhanhzz

Thành viên mới
Tham gia
29/7/19
Bài viết
23
Được thích
2
Chào mọi người.
Em mới tìm hiểu VBA của excel.
Em muốn viết 1 đoạn code dùng Selenium Webdriver để có thể truy cập 1 thư mục chứa những user chrome mình đã tạo, và khi mở user chrome đó sẽ tự động mở 1 trang web do mình định sẵn.
Em không biết viết như thế nào, mong được mọi người hướng dẫn ạ. Em cám ơn.
 
Lần chỉnh sửa cuối:
cám ơn a.
e đã thử thì nó sẽ mở userprofile mới, chứ không phải userprofile e tạo trước đó ạ, e muốn là mở từng userprofile e đã tạo sẵn ak a,
Bạn không hiểu thì tôi chịu thôi.

Chỉ cần RunURLWithChrome "www.google.com", "D:\Document\Profile1"

"D:\Document\Profile1" là Folder bạn đã lưu trữ dữ liệu user vào đấy.

Còn Argument --profile-directory không cần nữa thì bạn thêm vào làm gì,
đã được thay thế bằng --data-use-dir rồi.




Nếu bạn dùng Selenium Webdriver để điều khiển thì không thể mở được theo cách bình thường, mà phải mở ở chế độ debug.
Cần thêm Argument, ví dụ mở ở Port 9222: --remote-debugging-port=9222 ,

Ở Selenium Webdriver thêm Argument tương tự để kết nối.

Chrome không chạy ở chế độ Debug thì không thể thêm UserProfile nhé bạn.

Lưu ý với Selenium và Chrome: Chrome và ChromeDriver phải tương đồng phiên bản.
 
Lần chỉnh sửa cuối:
Upvote 0
Bạn không hiểu thì tôi chịu thôi.

Chỉ cần RunURLWithChrome "www.google.com", "D:\Document\Profile1"

"D:\Document\Profile1" là Folder bạn đã lưu trữ dữ liệu user vào đấy.

Còn Argument --profile-directory không cần nữa thì bạn thêm vào làm gì,
đã được thay thế bằng --data-use-dir rồi.




Nếu bạn dùng Selenium Webdriver để điều khiển thì không thể mở được theo cách bình thường, mà phải mở ở chế độ debug.
Cần thêm Argument, ví dụ mở ở Port 9222: --remote-debugging-port=9222 ,

Ở Selenium Webdriver thêm Argument tương tự để kết nối.

Với Selenium mà Chrome không chạy ở chế độ Debug thì không thể thêm UserProfile nhé bạn.

Lưu ý với Selenium và Chrome: Chrome và ChromeDriver phải tương đồng phiên bản.
Em cám ơn.
Anh có thể demo cho em 1 đoạn code mở profile chrome bằng selenium webdriver được không ạ
 
Upvote 0
Bạn đang sử dụng SeleniumBasic hay Selenium Webdriver vậy? Với VBA thì không có Selenium Webdriver
 
Upvote 0
Tôi đã sửa tí ở Code, bạn thử lại xem:

Vì thấy bạn đã đăng bài viết mới với chủ đề tương tự, nên tôi chỉ giúp bạn thêm một bài này nữa thôi nhé.

Code phần trước tôi thiếu --remote-debugging-port, vì có nó mới có thể thêm UserProfile, bạn chỉ cần điền đúng Folder
user đã tạo vào UserProfile:="D:\Document\Profile1".

Tôi không trợ giúp cho bạn phần Selenium bạn nhé.

PHP:
'Vào Tools -> References thêm Microsoft Scripting Runtime'
Sub Test()
  RunURLWithChrome "www.google.com",  UserProfile:="D:\Document\Profile1"
  ',Arguments:="--disable-gpu --start-maximized  --window-position=1920,1080"'
End Sub

Sub RunURLWithChrome(URL$, Optional Port& = 9222, Optional UserProfile$, Optional Arguments$ )
  Dim oShell As Object
  'Sửa đường dẫn trùng với Thư mục gốc của Chrome'
  Const Chrome = """C:\Program Files (x86)\Google\Chrome\Application\chrome.exe"""
  Set oShell = CreateObject("WScript.Shell")
  oShell.Run _
    Chrome & _
    IIf(Port > 0, " --remote-debugging-port=" & Port,"") & _
    IIf(Arguments <> "", " " & Arguments,"") & _
    IIf(UserProfile <> "", " --user-data-dir=" & UserProfile,"") & _
    " --lang=vi" & IIf(URL <> "", " ", "") & URL
  Set oShell = Nothing
End Sub
 
Upvote 0
Tôi đã sửa tí ở Code, bạn thử lại xem:

Vì thấy bạn đã đăng bài viết mới với chủ đề tương tự, nên tôi chỉ giúp bạn thêm một bài này nữa thôi nhé.

Code phần trước tôi thiếu --remote-debugging-port, vì có nó mới có thể thêm UserProfile, bạn chỉ cần điền đúng Folder
user đã tạo vào UserProfile:="D:\Document\Profile1".

Tôi không trợ giúp cho bạn phần Selenium bạn nhé.

PHP:
'Vào Tools -> References thêm Microsoft Scripting Runtime'
Sub Test()
  RunURLWithChrome "www.google.com",  UserProfile:="D:\Document\Profile1"
  ',Arguments:="--disable-gpu --start-maximized  --window-position=1920,1080"'
End Sub

Sub RunURLWithChrome(URL$, Optional Port& = 9222, Optional UserProfile$, Optional Arguments$ )
  Dim oShell As Object
  'Sửa đường dẫn trùng với Thư mục gốc của Chrome'
  Const Chrome = """C:\Program Files (x86)\Google\Chrome\Application\chrome.exe"""
  Set oShell = CreateObject("WScript.Shell")
  oShell.Run _
    Chrome & _
    IIf(Port > 0, " --remote-debugging-port=" & Port,"") & _
    IIf(Arguments <> "", " " & Arguments,"") & _
    IIf(UserProfile <> "", " --user-data-dir=" & UserProfile,"") & _
    " --lang=vi" & IIf(URL <> "", " ", "") & URL
  Set oShell = Nothing
End Sub
em cám ơn a nhiều.
mà cái em cần lại là selenium . :V
 
Upvote 0
@HeSanbi a vẫn dùng được Seleniumbasic để code với web chứ ạ?
e cài và code thử mà không chạy

Sub OpenBrowser()
Dim driver As New WebDriver
driver.Start "Chrome"
driver.Get "https://translate.google.com/?hl=vi"
End Sub

báo lỗi automation error ạ
 
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom