Python,PhantomJS说我不使用无头?

时间:2018-05-18 17:30:02

标签: python selenium phantomjs

我的代码是:

from selenium import webdriver

driver = webdriver.PhantomJS(executable_path='driver/bin/phantomjs.exe')
driver.get("https://www.test.com")
print(driver.current_url)

它似乎运行良好但在运行之前我总是收到此错误:

  

用户警告:对PhantomJS的Selenium支持已被弃用,请使用无头版Chrome或Firefox而不是warnings.warn('对PhantomJS的Selenium支持已被弃用,请使用无头

为什么我收到此错误?我认为我的PhantomJS是无头的,因为它仍然有效,并且没有浏览器弹出这个错误保存忽略?

4 个答案:

答案 0 :(得分:7)

Selenium认为PhantomJS已弃用,因此您需要我们采用无头模式的Chrome或Firefox。

以下是在无头模式下使用Chrome的步骤:

  1. https://sites.google.com/a/chromium.org/chromedriver/getting-started下载chrome驱动程序
  2. 将其提取到文件夹
  3. 将此文件夹添加到您的PATH environment variable中(如果您不这样做,则必须在下面的代码中使用webdriver.Chrome('/your/path/to/chromedriver')而不是webdriver.Chrome())

这是您的脚本:

from selenium import webdriver

# prepare the option for the chrome driver
options = webdriver.ChromeOptions()
options.add_argument('headless')

# start chrome browser
browser = webdriver.Chrome(chrome_options=options)
browser.get('http://www.google.com/xhtml')
print(browser.current_url)
browser.quit()

有关how to use ChromeDriver的更多信息
对于其他选项:here(还有herehere

答案 1 :(得分:2)

在Selenium 3.8.1中,PhantomJS被标记为已弃用的webdriver,建议我们在无头模式下使用Chrome或Firefox。

答案 2 :(得分:0)

找到替代方案,您可以将options.add_argument('headless')添加到chrome

答案 3 :(得分:0)

你可以使用这个:

from selenium import webdriver

browser = webdriver.Chrome('chromedriver_path/chromedriver')
browser.get("https://www.test.com")
print(browser.current_url)
browser.quit()