Làm cách nào để mở python trong tab mới trong chrome?

Bạn đang xem tự động hóa trình duyệt và bạn đang tự hỏi làm thế nào để mở trình duyệt web bằng Python?

Để mở trình duyệt web, Python cung cấp mô-đun webbrowser. Bạn có thể sử dụng mô-đun trình duyệt web để mở trình duyệt mặc định trên hệ thống của mình bằng cách sử dụng trình duyệt web. chức năng mở []. Bạn có thể chọn một trình duyệt cụ thể để mở bằng chức năng webbrowser. lấy[]

Sau khi xem qua những điều cơ bản về cách mở trình duyệt, chúng tôi cũng sẽ xây dựng một chương trình đơn giản giúp bạn nhanh chóng thiết lập môi trường của mình với danh sách các trang web bạn chọn

Hãy bắt đầu mở trình duyệt. 🙂

Mục lục

  • Python có thể tương tác với trình duyệt web không?
  • Cách mở tab trình duyệt mới trong Python
  • Cách mở một trang trình duyệt mới bằng Python
  • Làm cách nào tôi có thể mở Chrome bằng Python?
  • Lỗi khi mở trình duyệt web bằng Python
  • Làm cách nào bạn có thể mở nhiều URL trong trình duyệt bằng tập lệnh Python?
  • Chạy lệnh Python để mở trình duyệt
  • Sự kết luận

Python có thể tương tác với trình duyệt web không?

Có, nó có thể

Python có thể tương tác với trình duyệt web bằng mô-đun webbrowser

Làm cách nào bạn có thể mở một URL trong trình duyệt bằng tập lệnh Python?

Bạn có thể mở một URL trong trình duyệt mặc định trên máy của mình theo các bước bên dưới

  1. Nhập mô-đun Python của trình duyệt web
  2. Gọi hàm open[] của mô-đun trình duyệt web và chuyển cho nó URL của trang web bạn muốn mở

Đây là một ví dụ…

Tôi đã tạo một tập lệnh Python có tên là web_browser_test. py và thêm các dòng mã sau

import webbrowser

url = '//codefather.tech/blog/'
webbrowser.open[url]

Trước tiên, chúng tôi nhập mô-đun trình duyệt web và chúng tôi sử dụng url biến chuỗi để chỉ định trang web chúng tôi muốn mở

Sau đó, chúng tôi gọi chức năng webbrowser. open[] để mở trang web đó trên trình duyệt mặc định của chúng tôi

Hãy xem điều gì sẽ xảy ra khi tôi thực thi tập lệnh này

$ python web_browser_test.py

Khi tôi thực thi tập lệnh này trên máy của mình, nó sẽ mở trang web Codefather trong tab Chrome mới

Trước khi tiếp tục hướng dẫn này, hãy thử nó trên máy của bạn và xem điều gì sẽ xảy ra

Cũng theo tài liệu chính thức của Python, hàm open[] hỗ trợ một đối số bổ sung có tên là new

webbrowser.open[url, new=0]

Trong cú pháp trên new=0 có nghĩa là giá trị mặc định cho đối số mới là 0

Đây là ý nghĩa của các giá trị khác nhau cho đối số mới

  • 0. url được mở trong cùng một cửa sổ trình duyệt
  • 1. một cửa sổ trình duyệt mới được mở ra
  • 2. một tab trình duyệt mới được mở

Đối với ba giá trị của đối số mới, tài liệu Python nói rằng mỗi hành động sẽ xảy ra “nếu có thể“

Không rõ “nếu có thể” nghĩa là gì và từ một số thử nghiệm tôi đã thực hiện, hành vi của hàm open[] không thay đổi rõ ràng tùy thuộc vào giá trị của đối số mới

Nói chung, cách tiếp cận đơn giản nhất là chỉ sử dụng hàm open[] với cài đặt mặc định của nó [không chỉ định đối số mới]

Cách mở tab trình duyệt mới trong Python

Nếu bạn muốn làm cho mã của mình rõ ràng hơn và thực sự làm rõ rằng bạn muốn mở một tab mới, bạn có thể sử dụng trình duyệt web. hàm open_new_tab[]

Bạn có thể thấy rằng chức năng này khả dụng khi bạn nhập mô-đun webbrowser

>>> import webbrowser
>>> dir[webbrowser]
['BackgroundBrowser', 'BaseBrowser', 'Chrome', 'Chromium', 'Elinks', 'Error', 'Galeon', 'GenericBrowser', 'Grail', 'Konqueror', 'MacOSX', 'MacOSXOSAScript', 'Mozilla', 'Netscape', 'Opera', 'UnixBrowser', '__all__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', '_browsers', '_lock', '_os_preferred_browser', '_synthesize', '_tryorder', 'get', 'main', 'open', 'open_new', 'open_new_tab', 'os', 'register', 'register_X_browsers', 'register_standard_browsers', 'shlex', 'shutil', 'subprocess', 'sys', 'threading']

Hãy thử gọi hàm này

import webbrowser

url = '//codefather.tech/blog/'
webbrowser.open_new_tab[url]

Hiện tại, trình duyệt mặc định trên máy của tôi là Chrome, nơi tôi đã mở một vài tab

Khi tôi thực thi tập lệnh, một tab mới sẽ được mở trong Chrome

Hãy thử nó trên máy của bạn và xem những gì sẽ xảy ra

Cách mở một trang trình duyệt mới bằng Python

Nếu bạn muốn mở một trang web trong cửa sổ trình duyệt mới thì sao?

Từ đầu ra của hàm tích hợp dir[] trong phần trước, bạn có thể thấy rằng mô-đun webbrowser cũng thực hiện hàm open_new[]

Mô-đun webbrowser cung cấp hàm open_new[] cho phép mở một URL trong cửa sổ trình duyệt mới bằng Python

Đây là những gì tài liệu Python chính thức nói về chức năng này

Hãy cập nhật tập lệnh của chúng tôi để sử dụng chức năng này và xem điều gì sẽ xảy ra

import webbrowser

url = '//codefather.tech/blog/'
webbrowser.open_new[url]

Hiện tại, tôi có một cửa sổ Chrome đang mở với các tab khác đã mở và khi tôi thực thi mã này, Python sẽ mở một tab mới trong cửa sổ hiện có

Đây có lẽ là hành vi mà tài liệu Python đề cập đến khi nó nói "nếu không, hãy mở url trong cửa sổ trình duyệt duy nhất"

Tôi sẽ thay đổi trình duyệt mặc định trên hệ thống của mình để tìm hiểu điều gì sẽ xảy ra nếu tôi cố mở một trình duyệt mặc định chưa được mở

Trên máy Mac, tôi có thể thực hiện bằng cách đi tới  > Tùy chọn hệ thống, sau đó nhấp vào Cài đặt chung và sau đó cập nhật trình duyệt trong phần “Trình duyệt web mặc định“

Tôi đã đặt Safari làm trình duyệt mặc định của mình

Ghi chú. các bước này sẽ thay đổi nếu bạn có một hệ điều hành khác

Hãy thực thi lại tập lệnh Python…

$ python web_browser_test.py

Lần này, tập lệnh Python sẽ mở một cửa sổ Safari và ngay cả khi tôi thực thi nó nhiều lần, nó sẽ luôn mở blog Codefather trong cùng một cửa sổ [nó không mở một tab mới]

Tôi tò mò muốn xem điều gì sẽ xảy ra nếu tôi

  • giữ nguyên mã
  • thay đổi URL tôi mở trong tập lệnh thành 'www. Google. com’
  • giữ tab Safari hiện có mở trên blog Codefather
  • chạy tập lệnh được cập nhật bên dưới
import webbrowser

url = '//www.google.com'
webbrowser.open_new[url]

Tập lệnh Python mở tab thứ hai trong Safari cho Google và sau đó nó tiếp tục mở Google trong tab thứ hai đó mỗi khi tôi chạy tập lệnh

Sau khi sử dụng các hàm open_new_tab[] và open_new[], tôi có thể thấy rằng hành vi của hai hàm này không phải lúc nào cũng rõ ràng

Như bạn có thể thấy bên dưới, ngay cả tài liệu chính thức cũng nói rằng đôi khi hàm open_new_tab[] tương đương với open_new[]

Nó có thể gây nhầm lẫn. ?

Tôi thà sử dụng hàm open[] chung để làm mọi thứ đơn giản hơn

Làm cách nào tôi có thể mở Chrome bằng Python?

Cho đến nay chúng ta đã thấy cách mở trình duyệt mặc định trên máy tính của bạn bằng Python

Hiện tại trên máy tính của tôi, trình duyệt mặc định là Safari nhưng trên máy tính của bạn, nó có thể là một trình duyệt khác

Vì vậy, nếu bạn muốn yêu cầu Python mở một trình duyệt cụ thể, chẳng hạn như Chrome thì sao?

Bạn có thể sử dụng trình duyệt web. hàm get[]. Hàm này trả về một đối tượng điều khiển cho phép chọn loại trình duyệt để mở

Đây là đối tượng được hàm này trả về trên máy Mac, hãy thử thực hiện trên máy tính của bạn để xem loại đối tượng được trả về

________số 8

Để tìm hiểu các phương thức có sẵn trên đối tượng này, chúng ta có thể sử dụng hàm có sẵn dir[]

>>> dir[webbrowser.get[]]
['__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', '_name', 'args', 'open', 'open_new', 'open_new_tab']

Thú vị…

Bạn có thể thấy ba phương thức có tên rất quen thuộc

  • mở
  • mở_mới
  • open_new_tab

Đây là các phương thức có sẵn trên đối tượng bộ điều khiển có cùng hành vi của ba hàm có cùng tên có sẵn trong mô-đun webbrowser

Hãy thử gọi hàm get[] theo sau là phương thức open[]

Chúng tôi đang đặt giá trị của biến trình duyệt thành 'chrome' vì chúng tôi muốn mở URL trong Chrome

$ python web_browser_test.py
0

Khi tôi thực thi tập lệnh, nó sẽ mở một tab Chrome mới và tải chính xác trang web Codefather

Tóm lại, chúng tôi đã sử dụng hàm get[] của trình duyệt web để thay đổi trình duyệt mà chúng tôi mở URL bằng

Ghi chú. chúng tôi đã sử dụng một biến để xác định trình duyệt mà chúng tôi muốn sử dụng để cập nhật trình duyệt dễ dàng hơn nếu chúng tôi muốn. Trên trang này, bạn có thể tìm thấy tất cả các trình duyệt có sẵn

Hãy xác nhận rằng tôi cũng có thể mở Safari nếu tôi thay đổi giá trị của trình duyệt từ 'chrome' thành 'safari'

$ python web_browser_test.py
1

Điều này làm việc tốt trên máy của tôi

Kiểm tra nó trên máy của bạn và nếu bạn không có máy Mac, hãy chọn một trình duyệt từ danh sách này tồn tại trên máy của bạn

Lỗi khi mở trình duyệt web bằng Python

Tôi tự hỏi điều gì sẽ xảy ra nếu tôi cố mở một trình duyệt không được cài đặt trên máy tính của mình

Firefox [đặt biến trình duyệt thành 'firefox']

$ python web_browser_test.py
2

Opera [đặt biến trình duyệt thành 'opera']

$ python web_browser_test.py
3

Chúng tôi nhận lại lỗi trong cả hai trường hợp và hai lỗi hơi khác nhau

Làm cách nào bạn có thể mở nhiều URL trong trình duyệt bằng tập lệnh Python?

Cho đến nay chúng ta đã thấy cách mở một URL trong trình duyệt bằng Python

Và nếu bạn muốn tạo một tập lệnh Python mở nhiều URL thì sao?

Bạn có thể muốn làm điều đó nếu bạn muốn tạo tập lệnh, thiết lập ban đầu cho môi trường của bạn

Ví dụ: hãy tưởng tượng bạn có một danh sách các trang web mà bạn muốn mở trong nhiều tab vì bạn cần tất cả chúng như một phần công việc của mình khi bạn bắt đầu làm việc vào buổi sáng

Hãy xem làm thế nào chúng ta có thể làm điều đó…

Sử dụng danh sách Python để lưu trữ danh sách các trang web và sau đó sử dụng vòng lặp for để mở từng trang một

$ python web_browser_test.py
4

Đây là những gì chúng tôi đang làm trong kịch bản

  1. nhập mô-đun trình duyệt web
  2. tạo một danh sách các chuỗi được gọi là url chứa bốn trang web
  3. đặt trình duyệt thành Safari [thay đổi nó thành trình duyệt được cài đặt trên máy của bạn và hiện không mở]
  4. sử dụng vòng lặp for để duyệt qua các trang web trong danh sách url
  5. tại mỗi lần lặp lại cuộc gọi bốn vòng webbrowser. lấy[]. open[] để mở một URL trong trình duyệt. Để tạo chuỗi, chúng tôi đang chuyển sang phương thức open[], chúng tôi đang sử dụng chuỗi f để thêm https. // ở đầu mỗi URL

Đóng trình duyệt bạn đang sử dụng cho bài kiểm tra này và thực thi tập lệnh Python

Và…

Ảo thuật

Tập lệnh mở một cửa sổ trình duyệt mới và tải bốn trang web trong bốn tab khác nhau

Khá tiện dụng để tiết kiệm thời gian, đặc biệt nếu bạn có nhiều trang web mở thường xuyên

Chạy lệnh Python để mở trình duyệt

Chúng ta đã thấy cách tạo tập lệnh mở trình duyệt web bằng Python

Và nếu chúng ta muốn mở trình duyệt web chỉ bằng một lệnh duy nhất mà không cần tạo tập lệnh Python thì sao?

Bạn có thể sử dụng cú pháp sau

$ python web_browser_test.py
5

Chúng tôi sử dụng cờ -m để chỉ định tên của mô-đun Python sẽ sử dụng

Sự kết luận

Các mô-đun Python rất mạnh

Bạn có nghĩ rằng mình có thể mở một trình duyệt web bằng Python chỉ với một vài dòng mã không?

Và bây giờ bạn đã biết cách mở một hoặc nhiều URL trong trình duyệt bằng Python, bạn sẽ sử dụng kiến ​​thức này như thế nào?

Đây chỉ là một trong những mô-đun mà Python cung cấp. Để tìm hiểu cách các mô-đun hoạt động, hãy xem hướng dẫn này về các mô-đun Python

Cũng thế…

Nếu bạn muốn trở thành một nhà phát triển Python giỏi hơn, điều quan trọng là phải hiểu cách Python có thể được áp dụng cho các lĩnh vực khác nhau, ví dụ: Khoa học dữ liệu

DataCamp đã thiết kế một khóa học dạy Khoa học dữ liệu bằng Python, thứ đang trở nên thực sự phổ biến trên thị trường ngày nay

Khám phá khóa học DataCamp Giới thiệu về Khoa học dữ liệu trong Python ngay hôm nay

Và mã hóa hạnh phúc

Bài viết liên quan

Giải thích các mô-đun Python. Bạn có biết bạn có thể sử dụng chúng theo cách này không?

Làm việc với JSONPath trong Python. Hướng dẫn để làm quen với nó

Cách làm việc với đảo ngữ trong Python. Ví dụ từng bước

Claudio Sabato

Tôi là Trưởng nhóm công nghệ, Kỹ sư phần mềm và Huấn luyện viên lập trình. Tôi muốn giúp bạn trong hành trình trở thành Nhà phát triển siêu hạng

Chủ Đề