使用selenium Girl出现以下报错,记录下:
启动Selenium Girl:
脚本如下:
from selenium.webdriver import Remote
from selenium.webdriver.common.action_chains import ActionChains
from time import *
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.common.exceptions import NoSuchElementException
driver = Remote(command_executor='http://127.0.0.1:4444/wd/hub',
desired_capabilities={'platform': 'ANY',
'browseName':'ie',
'version':'',
'javascriptEnabled':True
}
)
driver.implicitly_wait(10)
driver.get(r"http://www.baidu.com")
#显示等待
element = WebDriverWait(driver,5,0.5,ignored_exceptions=None).until(
EC.presence_of_element_located((By.LINK_TEXT,"设置"))
)
#鼠标事件,鼠标悬停
ActionChains(driver).move_to_element(element).perform()
#定位元素异常判断
try:
e2 = driver.find_element(By.LINK_TEXT,"搜索设置")
except NoSuchElementException as e :
print(e)
else:
e2.click()
driver.find_element_by_link_text("保存设置").click()
sleep(2)
#获取警告框的text
text = driver.switch_to_alert().text
print(text)
sleep(2)
#接受警告框,关闭警告框
driver.switch_to_alert().accept()
#获取当前页面的title、url
title = driver.title
url = driver.current_url
print(title,url)
driver.quit()
运行结果:
C:\Python352\python.exe D:/UI自动化脚本/alert警告框处理.py
Traceback (most recent call last):
File "D:/UI自动化脚本/alert警告框处理.py", line 13, in <module>
'javascriptEnabled':True
File "C:\Python352\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 87, in __init__
self.start_session(desired_capabilities, browser_profile)
File "C:\Python352\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 141, in start_session
'desiredCapabilities': desired_capabilities,
File "C:\Python352\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 201, in execute
self.error_handler.check_response(response)
File "C:\Python352\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 181, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: Error forwarding the new session Empty pool of VM for setup Capabilities [{browseName=ie, javascriptEnabled=true, version=, platform=ANY}]
Stacktrace:
at org.openqa.grid.web.servlet.handler.RequestHandler.process (RequestHandler.java:115)
at org.openqa.grid.web.servlet.DriverServlet.process (DriverServlet.java:83)
at org.openqa.grid.web.servlet.DriverServlet.doPost (DriverServlet.java:67)
at javax.servlet.http.HttpServlet.service (HttpServlet.java:707)
at javax.servlet.http.HttpServlet.service (HttpServlet.java:790)
at org.seleniumhq.jetty9.servlet.ServletHolder.handle (ServletHolder.java:808)
at org.seleniumhq.jetty9.servlet.ServletHandler.doHandle (ServletHandler.java:587)
at org.seleniumhq.jetty9.server.session.SessionHandler.doHandle (SessionHandler.java:221)
at org.seleniumhq.jetty9.server.handler.ContextHandler.doHandle (ContextHandler.java:1127)
at org.seleniumhq.jetty9.servlet.ServletHandler.doScope (ServletHandler.java:515)
at org.seleniumhq.jetty9.server.session.SessionHandler.doScope (SessionHandler.java:185)
at org.seleniumhq.jetty9.server.handler.ContextHandler.doScope (ContextHandler.java:1061)
at org.seleniumhq.jetty9.server.handler.ScopedHandler.handle (ScopedHandler.java:141)
at org.seleniumhq.jetty9.server.handler.HandlerWrapper.handle (HandlerWrapper.java:97)
at org.seleniumhq.jetty9.server.Server.handle (Server.java:499)
at org.seleniumhq.jetty9.server.HttpChannel.handle (HttpChannel.java:310)
at org.seleniumhq.jetty9.server.HttpConnection.onFillable (HttpConnection.java:257)
at org.seleniumhq.jetty9.io.AbstractConnection$2.run (AbstractConnection.java:540)
at org.seleniumhq.jetty9.util.thread.QueuedThreadPool.runJob (QueuedThreadPool.java:635)
at org.seleniumhq.jetty9.util.thread.QueuedThreadPool$3.run (QueuedThreadPool.java:555)
at java.lang.Thread.run (<anonymous>:-1)
Process finished with exit code 1
错误分析:
因为Selenium server版本与Firefox版本不兼容,升级Selenium 以及使用最新的selenium server版本。
解决方法:
1) 升级Selenium pip install -U selenium
2) 下载更高版本的selenium server版本 selenium-server-standalone-xxx.jar
3) 浏览器版本不适合