gpt4 book ai didi

java - 提交表单时出现 HtmlUnit StackOverflowError

转载 作者:行者123 更新时间:2023-11-30 03:12:39 26 4
gpt4 key购买 nike

我通常不会发布此类问题,但这个问题让我发疯。我正在使用 SeleniumWebDriver 填写表单并提交。我在计算机上完成了此操作,效果非常好,但是当我将应用程序上传到 OpenShift 时,我在提交表单时收到 StackOverflowError 错误。这是堆栈跟踪:

[0m[31m04:29:06,529 ERROR [stderr] (Thread-110) Exception in thread "Thread-110" java.lang.StackOverflowError
[0m[31m04:29:06,542 ERROR [stderr] (Thread-110) at net.sourceforge.htmlunit.corejs.javascript.regexp.NativeRegExp.emitREBytecode(NativeRegExp.java:1311)
[0m[31m04:29:06,547 ERROR [stderr] (Thread-110) at net.sourceforge.htmlunit.corejs.javascript.regexp.NativeRegExp.emitREBytecode(NativeRegExp.java:1281)
[0m[31m04:29:06,547 ERROR [stderr] (Thread-110) at net.sourceforge.htmlunit.corejs.javascript.regexp.NativeRegExp.emitREBytecode(NativeRegExp.java:1286)
[0m[31m04:29:06,548 ERROR [stderr] (Thread-110) at net.sourceforge.htmlunit.corejs.javascript.regexp.NativeRegExp.emitREBytecode(NativeRegExp.java:1286)
[0m[31m04:29:06,548 ERROR [stderr] (Thread-110) at net.sourceforge.htmlunit.corejs.javascript.regexp.NativeRegExp.emitREBytecode(NativeRegExp.java:1286)
[0m[31m04:29:06,564 ERROR [stderr] (Thread-110) at net.sourceforge.htmlunit.corejs.javascript.regexp.NativeRegExp.emitREBytecode(NativeRegExp.java:1286)

(他继续了一会儿,但所有的台词都是一样的......)

正如您从堆栈跟踪中看到的,我正在使用 HtmlUnit WebDriver。我用谷歌搜索了这个,但没有找到任何人和我遇到的确切问题,尽管 HtmlUnit 似乎经常给出 StackOverflow 错误......

谁能告诉我这是一个错误还是我遗漏了什么?非常感谢任何帮助,谢谢!

编辑

这是我的代码:

HtmlUnitDriver driver = new HtmlUnitDriver(BrowserVersion.CHROME);
driver.setJavascriptEnabled(true);
driver.get(myUrl);
//Finds the fields of the login form and fills it. Also removes the Remember me checkbox.
WebElement email = driver.findElement(By.id("email"));
email.clear();
email.sendKeys(username);

WebElement rememberMe = driver.findElement(By.name("persistent"));
if(rememberMe.isSelected())rememberMe.click();

WebElement pass = driver.findElement(By.id("pass"));
pass.clear();
pass.sendKeys(pass);

//HERE IS WHERE THE ERROR OCCURS:
pass.submit();

我没有提交,而是尝试从按钮手动获取输入并单击它,如下所示:

    WebElement button = driver.findElement(By.id("u_0_2"));
button.click();

但问题是完全相同的......

最佳答案

小型齿轮各有 512MB RAM 和 1GB 磁盘空间,因此运行此类“资源密集型”应用程序可能并不总是可行,您可能会考虑升级到中型或大型齿轮。

此外,尝试增加堆栈大小可能是一种选择,请参阅:How to increase the Java stack size?

您可以查看 Openshift Marketplace用于监控墨盒。

关于java - 提交表单时出现 HtmlUnit StackOverflowError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33299371/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com