我如何获取Selenium Webdriver停止打开浏览器?

时间:2018-09-07 03:47:28

标签: selenium python-3.6

我正试图抓取一个网站来获取图片,而我唯一感兴趣的就是它们的链接。我必须等到网站javascript加载完毕。我可以获取所需的信息,但是我不需要每次运行代码都打开Firefox。有没有一种方法可以只加载我的html代码而无需每次都打开浏览器?

import selenium
from selenium import webdriver

driver = selenium.webdriver.Firefox()
driver.get("https://www.nasa.gov/multimedia/imagegallery/iotd.html")

print(driver.page_source)

2 个答案:

答案 0 :(得分:0)

您是说无头运行吗?这将允许使用Firefox,但并不明显。

我去整理了文档,发现这是设置无头Firefox的不错的文章。

from selenium import webdriver
from selenium.webdriver.firefox.options import Options

options = Options()
options.set_headless(headless=True)
driver = webdriver.Firefox(firefox_options=options, executable_path=r'C:\Utility\BrowserDrivers\geckodriver.exe')
driver.get("https://www.nasa.gov/multimedia/imagegallery/iotd.html")
print(driver.page_source)
driver.quit()

希望这能回答您的问题!

Reference

答案 1 :(得分:0)

@ s.bridges的答案将起作用,但是set_headless()已被弃用。因此,您应该改用headless属性。像这样:

from selenium import webdriver
from selenium.webdriver.firefox.options import Options

options = Options()
options.headless = True
driver = webdriver.Firefox(options=options)
driver.get("https://www.nasa.gov/multimedia/imagegallery/iotd.html")