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()

猜你喜欢

转载自blog.csdn.net/qq_39979646/article/details/104679557