我正试图抓取一个网站来获取图片,而我唯一感兴趣的就是它们的链接。我必须等到网站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)
答案 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()
希望这能回答您的问题!
答案 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")