我正在尝试使用Selenium Python客户机库自动登录到我的web应用程序。最终目标是学习Selenium的Python客户端库。所以,我非常感谢那些对Selenium Python感兴趣的人的回答。
我现在有一个这样的代码:from selenium import webdriver
from selenium.webdriver.common.keys import Keys
browser = webdriver.Firefox() # Get local session of firefox
browser.get("http://myServer/WebAccess/login.html") # Load Application page
elem = browser.find_element_by_name("LoginID") # Find the Login box
elem.send_keys("Administrator")
elem = browser.find_element_by_name("Password") # Find the Password box
elem.send_keys("Administrator" + Keys.RETURN)
这很有效,但都发生在前端。我的意思是它打开了一个Firefox,输入值,点击Submit,等等。
我只是想知道,我能做些什么让这一切发生在幕后吗?假设我不想监视脚本正在做什么。我只想让它在后台运行。有什么办法可以做到这一点吗?
编辑
下载了PyVirtualDisplay并使用命令setup.py install将其安装到我的windows中。也安装了EasyProcess和Path模块。
现在我有一个这样的示例代码from pyvirtualdisplay import Display
from selenium import webdriver
display = Display(visible=0, size=(1024, 768))
display.start()
browser = webdriver.Firefox()
browser.get('http://www.google.com')
print browser.title
browser.close()
display.stop()
执行此代码时出现以下错误:`Traceback (most recent call last):
File "C:\Documents and Settings\user\Desktop\Sel.py", line 1, in
from pyvirtualdisplay import Display
File "C:\Python27\lib\site-packages\pyvirtualdisplay\__init__.py", line 1, in
from display import Display
File "C:\Python27\lib\site-packages\pyvirtualdisplay\display.py", line 2, in
from pyvirtualdisplay.xephyr import XephyrDisplay
File "C:\Python27\lib\site-packages\pyvirtualdisplay\xephyr.py", line 8, in
EasyProcess([PROGRAM, '-help'], url=URL, ubuntu_package=PACKAGE).check_installed()
File "C:\Python27\lib\site-packages\easyprocess\__init__.py", line 202, in check_installed
raise EasyProcessCheckInstalledError(self)
EasyProcessCheckInstalledError: cmd=['Xephyr', '-help']
OSError=[Error 2] The system cannot find the file specified
Program install error! `