Java Phantomjs在windows和linux中表现不同

B.J*_*.A. 7 java linux phantomjs

我一直试图解决这个问题,但不知道是什么原因,我用java和phantomjs制作了一个程序,理论上它们都应该表现得一样.

pc和服务器中的Phantomjs是相同的v.2.0.

在Windows(v.7)中,mi测试程序按预期工作,但在linux(debian)中,程序失败,当它尝试单击一个元素时出现此错误:

Caused by: org.openqa.selenium.NoSuchElementException: {"errorMessage":"Unable to find element with css selector
Run Code Online (Sandbox Code Playgroud)

现在,我知道有时我们必须等待几秒钟来加载页面,这已经做了(甚至还添加了一些以确保)并且它已在Windows中正确测试.

我试过点击功能:

 element.click();
Run Code Online (Sandbox Code Playgroud)

使用javascript代码:

 JavascriptExecutor js = (JavascriptExecutor)driver;
    js = (JavascriptExecutor)driver;
    js.executeScript("arguments[0].click();", element)
Run Code Online (Sandbox Code Playgroud)

并采取行动:

Actions action = new Actions(driver);
action.moveToElement(element).contextClick().build().perform();     
//and this code too
action.moveToElement(element).click().build().perform();
Run Code Online (Sandbox Code Playgroud)

有没有人有同样或类似的问题?我还能做什么?我从昨天起就陷入困境,我无法弄清楚这个问题.

注意:现在我有另一种方法来获取页面而不进行交互,但在不同的操作系统中执行时仍然会从网页获得不同的结果,例如:

我通常在这里获得这个链接:www.somesite.com/?search = xxxxx&date_in = dd/MM/yyyy¶ms = etc.相反,我得到www.somesite.com/?search=xxxxx,默认搜索没有任何特定的搜索参数.

小智 5

您需要使用onResourceError回调,以找出出错的地方.
您还需要使用以下命令行选项:

--ignore-ssl-errors=true --ssl-protocol=any --debug=true
Run Code Online (Sandbox Code Playgroud)

另请参阅:此问题.