在colab for Selenium中安装并运行浏览器

cyej8jka  于 2023-02-12  发布在  其他
关注(0)|答案(2)|浏览(180)

我知道google colab可以用于selenium模块,但是在使用selenium之前,colab虚拟机中应该有一个浏览器,所以我已经成功地使用命令在colab中安装了firefox

  1. !apt-get update
  2. !apt install firefox

但当我尝试运行firefox的时候

  1. !firefox

它会抛出一个错误
src/tcmalloc.cc:283]尝试释放无效指针0x7f4e34915040将对abort()的调用重定向到mozalloc_abort
同样的问题也发生在其他浏览器上,比如chromium-browser和chrome。
我甚至试过

  1. import webbrowser
  2. webbrowser.get('firefox').open('https://www.youtube.com')

但它抛出一个错误
找不到浏览器位置
因此,总的来说,我需要这个错误的解决方案,而运行浏览器
尝试释放无效指针0x7f4e34915040

jtoj6r0c

jtoj6r0c1#

我不能安装火狐。但如果你可以使用 chrome 。这里的代码。

  1. # install chromium, its driver, and selenium
  2. !apt install chromium-chromedriver
  3. !pip install selenium
  4. # set options to be headless, ..
  5. from selenium import webdriver
  6. options = webdriver.ChromeOptions()
  7. options.add_argument('--headless')
  8. options.add_argument('--no-sandbox')
  9. options.add_argument('--disable-dev-shm-usage')
  10. # open it, go to a website, and get results
  11. wd = webdriver.Chrome('chromedriver',options=options)
  12. wd.get("https://www.website.com")
  13. print(wd.page_source) # results
  14. # divs = wd.find_elements_by_css_selector('div')
gab6jxml

gab6jxml2#

以下是在google colab中使用firefox驱动程序安装和运行selenium的步骤。
1.安装Firefox驱动程序:

  1. !apt-get update
  2. !apt install firefox

1.安装Selenium:

  1. !pip install selenium

1.导入依赖项:

  1. import selenium.webdriver as webdriver
  2. from selenium.webdriver.firefox.service import Service
  3. from selenium.webdriver.firefox.options import Options as FirefoxOptions

1.定义一个函数来构建scraper:

  1. def selenium_firefox_agent(driver_path="geckodriver"):
  2. firefox_driver_path = f'{driver_path}'
  3. user_agent = 'Mozilla'
  4. firefox_options = FirefoxOptions()
  5. firefox_options.add_argument('--headless')
  6. firefox_options.set_preference("general.useragent.override", user_agent)
  7. driver = webdriver.Firefox(
  8. executable_path=firefox_driver_path,
  9. options=firefox_options
  10. )
  11. print('Scraper setup complete!')
  12. return driver

1.运行铲运机:

  1. crawler = selenium_firefox_agent()
  2. crawler.get("https://www.google.com/")
  3. source = crawler.page_source
展开查看全部

相关问题