Selenium之瀏覽器無頭模式、多線程調用瀏覽器運行實戰。

配置Firefox無頭模式:

options = webdriver.FirefoxOptions()

options.add_argument('--headless')

options.add_argument('--disable-pgu')

Firefox瀏覽器驅動所在路徑

executable_path = r"D:\install_Python\geckodriver.exe"

配置Chrome無頭模式:

需要導入類:from selenium.webdriver.chrome.options import Options

chrome_options = Options()

chrome_options.add_argument('--headless')

chrome_options.add_argument('--disable-pgu')

例如以下代碼:

from selenium.webdriver.chrome.options import Options
from selenium import webdriver

# 配置Firefox無頭模式
# options = webdriver.FirefoxOptions()
# options.add_argument('--headless')
# options.add_argument('--disable-pgu')
# # Firefox瀏覽器驅動所在路徑
# executable_path = r"D:\install_Python\geckodriver.exe"
# driver = webdriver.Firefox(firefox_options=options, executable_path=executable_path)


# 配置Chrome無頭模式
chrome_options = Options()
chrome_options.add_argument('--headless')
chrome_options.add_argument('--disable-pgu')
driver = webdriver.Chrome(chrome_options=chrome_options)

案例:多線程調用瀏覽器運行實戰。

代碼:

from selenium import webdriver
from selenium.webdriver.chrome.options import Options
import threading, time


def test_driver_search(browser, url):
    if browser == "FireFox":
        options = webdriver.FirefoxOptions()
        options.add_argument("--headless")
        options.add_argument("--disable-pgu")
        executable_path = r"D:\install_Python\geckodriver.exe"
        driver = webdriver.Firefox(firefox_options=options, executable_path=executable_path)

        # driver=webdriver.firefox()
    elif browser == "Chrome":
        chrome_options = Options()
        chrome_options.add_argument("--headless")
        chrome_options.add_argument("--disable-pgu")
        driver = webdriver.Chrome(chrome_options=chrome_options)
        # driver=webdriver.Chrome()

    elif browser == "IE":
        driver = webdriver.Ie()

    # 搜索腳本
    driver.get(url)
    time.sleep(2)
    driver.find_element_by_id("kw").send_keys("hello python")
    driver.find_element_by_id("su").click()

    time.sleep(3)
    print(driver.title)


if __name__ == "__main__":
    data = {"Chrome": "https://www.baidu.com/", "FireFox": "https://www.baidu.com/", "IE": "https://www.baidu.com/"}
    threads = []
    for browser, url in data.items():
        t = threading.Thread(target=test_driver_search, args=(browser, url))
        threads.append(t)
    for thre in threads:
        thre.start()

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章