我一直试图解决这个问题,但不知道是什么原因,
我使用 java和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
现在,我知道有时候我们必须等待几秒才能加载页面,这已经做了(甚至还添加了一些以确保)并且它已在Windows中正确测试.
我试过点击功能:
element.click();
使用javascript代码:
JavascriptExecutor js = (JavascriptExecutor)driver; js = (JavascriptExecutor)driver; js.executeScript("arguments[0].click();",element)
并采取行动:
Actions action = new Actions(driver); action.moveToElement(element).contextClick().build().perform(); //and this code too action.moveToElement(element).click().build().perform();
有人有同样或类似的问题吗?我还能做什么?我从昨天起就陷入了困境,我无法弄清楚这个问题.
注意:现在我有另一种方法来获取页面而不进行交互,但在不同的操作系统中执行时仍然会从网页获得不同的结果,例如:
通常我得到这个链接:www.somesite.com/?search = xxxxx& date_in = dd / MM / yyyy& params = etc.相反,我得到www.somesite.com/?search=xxxxx,默认搜索没有任何特定的搜索参数.
解决方法
你需要使用
onResourceError回调,找出出了什么问题.
您还需要使用以下 Command-Line选项:
您还需要使用以下 Command-Line选项:
--ignore-ssl-errors=true --ssl-protocol=any --debug=true
另见:this issue.