使用 PhantomJS 和 Firefox 实现浏览器自动化,支持不同的浏览器

browser automation with PhantomJS and Firefox, support of the different browsers

为什么代码适用于 webdriver.Firefox 而不适用于 webdriver.PhantomJS?

from selenium import webdriver
from selenium.webdriver.common.keys import Keys

driver = webdriver.PhantomJS() # why not?
# driver.set_window_size(1400, 1050)

# driver = webdriver.Firefox() # Firefox 45, works correctly

driver.get("https://www.rec-registry.gov.au/rec-registry/app/public/lgc-register")
driver.find_elements_by_tag_name('button')[4].click() # status
# show the needed elements for the next action,
# enter(open the door) to the div.ms-drop area
driver.find_elements_by_class_name('ms-drop')[4].find_element_by_css_selector('ul>li:nth-child(12)').click()  # registered
driver.find_element_by_id('search-submit').send_keys(Keys.RETURN)  # search

driver.save_screenshot('lgc1.png')

您应该尝试使用 .click() 代替 send_keys(Keys.RETURN) 来实现点击目的,如下所示:

driver.find_element_by_id('search-submit').click()