【发布时间】:2015-01-14 13:04:57
【问题描述】:
我使用 selenium driver(chrome) 访问一个商业搜索引擎。问题是当我手动单击“下一页”按钮时,结果是下一页项目,即显示更多搜索结果。令人惊讶的是,当我在“下一页”上鼠标右键“查看页面源代码”查看源代码时,源代码与前一页相同!也就是说,有东西隐藏了当前(下一页)页面的页面源!当我右键单击“另存为”以将所有信息保存在我的本地磁盘上时,确实会显示“下一页”的源页面!这是为什么呢?
更糟糕的是,我使用chromedriver找到按钮“NextItem”并点击它,但是出现了这样的“不可点击”错误:
未知错误:元素在点 (452, 202) 处不可点击。其他元素会收到点击:...
我的代码部分:
List<WebElement> nextItems = chrome.findElementsByClassName("nextItem");
nextItems.get(0).click();
String sourePage=chrome.getPageSource();
然后崩溃....
为什么我可以手动点击按钮,但是chromedriver不能点击? 需要帮助!
【问题讨论】:
-
即使您可以手动重新创建问题,这又是一个硒问题吗?!
-
如果chrome的页面来源不正确,如何使用“Chrome.getPageSource()”函数获取内容并进一步分析?
-
全部完成。感谢大家!事实上,当我使用 chrome.getPageSource() 函数获取页面源时,页面的 JavaScript 代码会被执行并且我确实得到了正确的响应。另一个问题是:即使 ChromeDriver 报告了一些异常,如“StaleElementReferenceException”、“ElementNotVisibleException”或“WebDriverException”,chromedrive 确实“单击”下一个项目并且页面正确更改为下一个项目。我所做的是忽略异常。抓住它们并执行“继续”。
标签: java selenium selenium-webdriver selenium-chromedriver