get()花费太多时间-Python Selenium PhantomJs

get()花费太多时间-Python Selenium PhantomJs,python,selenium,flask,phantomjs,Python,Selenium,Flask,Phantomjs,我正在使用python和SeleniumPhantomJS来执行一些url。但是当它转到driver.get(url)时,它被卡在了那里。当我用chrome代替它时,它工作得非常好 from selenium.webdriver.common.desired_capabilities import DesiredCapabilities from selenium import webdriver import time dcap = dict(DesiredCapabilities.PHAN

我正在使用python和SeleniumPhantomJS来执行一些url。但是当它转到
driver.get(url)
时,它被卡在了那里。当我用chrome代替它时,它工作得非常好

from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
from selenium import webdriver
import time

dcap = dict(DesiredCapabilities.PHANTOMJS)
dcap["phantomjs.page.settings.userAgent"] = (
    "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/53 (KHTML, like Gecko) Chrome/56.0.2924.87")

def Foo(url):
    try:
        driver = webdriver.PhantomJS(desired_capabilities=dcap,service_args=['--ignore-ssl-errors=true'])
        # chromedriver = "/Documents/chromedriver"
        # os.environ["webdriver.chrome.driver"] = chromedriver
        # driver = webdriver.Chrome(executable_path=r"Path To Chrome Driver")
        driver.get(url)
        time.sleep(8)
        status = "successful"
    except (Exception) as e:
        print(e)
        status = "unsuccessful"
        driver.close()
    return status

url ="https://www.zomato.com/clients/reviews_new.php?entity_type=restaurant&entity_id=53892&start_date=2012-01-01&end_date=2017-05-05"
status = Foo(url)
print(status)

任何建议都会有帮助。

好的,我自己会找到替代方案。我只是用了无头铬合金而不是phantomjs

from selenium import webdriver
from pyvirtualdisplay import Display
import time,os

display = Display(visible=0, size=(800, 600))
display.start()

def Foo(url):
    try:
        driver = webdriver.Chrome()
        driver.maximize_window()
        driver.get(url)
        time.sleep(8)
        status = "successful"
    except (Exception) as e:
        print(e)
        status = "unsuccessful"
        #driver.close()
    return status

url ="https://www.zomato.com/clients/reviews_new.php?entity_type=restaurant&entity_id=53892&start_date=2012-01-01&end_date=2017-05-05"
status = Foo(url)
print(status)

但首先,您必须安装
xvfb
才能无头运行chrome。您可以使用
sudo-apt-get-install-xvfb
安装它。您还需要安装pyvirtualdisplay软件包。这可以通过
pip3安装pyvirtualdisplay来完成

好的,我自己找到替代方案。我只是用了无头铬合金而不是phantomjs

from selenium import webdriver
from pyvirtualdisplay import Display
import time,os

display = Display(visible=0, size=(800, 600))
display.start()

def Foo(url):
    try:
        driver = webdriver.Chrome()
        driver.maximize_window()
        driver.get(url)
        time.sleep(8)
        status = "successful"
    except (Exception) as e:
        print(e)
        status = "unsuccessful"
        #driver.close()
    return status

url ="https://www.zomato.com/clients/reviews_new.php?entity_type=restaurant&entity_id=53892&start_date=2012-01-01&end_date=2017-05-05"
status = Foo(url)
print(status)
但首先,您必须安装
xvfb
才能无头运行chrome。您可以使用
sudo-apt-get-install-xvfb
安装它。您还需要安装pyvirtualdisplay软件包。这可以通过
pip3安装pyvirtualdisplay来完成