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