我有一个烧瓶应用程序,我试图在heroku上托管。我正在使用硒从网站上获取数据。在本地,它运行完美,但是现在我正在尝试使用heroku进行部署,但遇到了重大问题。在我所做的一切之前,我只是指向了本地计算机上的webdriver的路径。现在,我正在使用这两个buildpack-https://github.com/heroku/heroku-buildpack-chromedriver和https://github.com/heroku/heroku-buildpack-google-chrome。我不知道如何使它工作,但是这是我在另一个版本中找到的一些代码(它不起作用)-
chrome_options = Options()
chrome_options.binary_location = os.environ['GOOGLE_CHROME_BIN']
chrome_options.add_argument('--disable-gpu')
chrome_options.add_argument('--no-sandbox')
chrome_options.add_argument('-- headless')
browser = webdriver.Chrome(executable_path= os.environ['CHROMEDRIVER_PATH, chrome_options=chrome_options'])
我不知道这是正确的还是接近它。
答案 0 :(得分:0)
option = webdriver.ChromeOptions()
# You will need to specify the binary location for Heroku
option.binary_location = os.getenv('GOOGLE_CHROME_BIN')
option.add_argument("--headless")
option.add_argument('--disable-gpu')
option.add_argument('--no-sandbox')
browser = webdriver.Chrome(executable_path=os.getenv('CHROME_EXECUTABLE_PATH'), options=option)
答案 1 :(得分:0)
我已经在heroku >> here
上发布了有关chromedriver使用的答案不确定即使让chrome buildpack工作后,您是否仍将能够成功抓取数据。而是使用firefox buildpack。我建议这个buildpack
输入class EventSerializer < ActiveModel::Serializer
attributes :id, :name, :event_sub_categories
def event_sub_categories
object.event_sub_categories.map do |sub_category|
EventSubCategorySerializer.new(sub_category)
end
end
end