BDD - Test pass on chrome but not on Phantomjs
You have 3 options:

implicitly_wait:

Implicitly wait means that the it will wait for a maximum of x seconds to search for an element so if you element will appear after 4 seconds you will get it when it will appear second if you set the implicitly wait greater than 4seconds.
Use driver.implicitly_wait(x) after creating the instance.

explicitly_wait:

Explicitly wait means the it will wait for x seconds and it will search for the element after the seconds passed so if you set 10 seconds and the element will appear after 4 seconds the element will be located with 6 seconds delay.
Use driver.explicitly_wait(x) after creating the instance

time.sleep

You can put your program to sleep and wait for the page to fully load after submitting some actions.
Use time.sleep(x) after submitting a form, clicking a button or loading a page.
I have a web app built by Django, front-end is built by React. I tried to test bdd with behave and selenium. I run a test with Chrome web driver and phantomjs one but the tests only passed using chrome. I captured a screenshot when it runs on phantom and saw that the page is not fully rendered. Please give some suggestions about this issue. Do I need do further configuration to test with phantomjs. Thank you.