【问题标题】:clicking "next page button", the page shows next page but the source codes of the page remains the same单击“下一页按钮”,页面显示下一页但页面源代码保持不变
【发布时间】: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


【解决方案1】:

使用 ChromeDriver 执行测试时,如果 ChromeDriver 尝试在 (x, y) 实际不可点击的位置“点击”元素,则会发生“不可点击元素”错误。 C# 中的解决方法位于评论 27:https://code.google.com/p/selenium/issues/detail?id=2766

【讨论】:

    猜你喜欢
    • 2023-04-03
    • 2012-03-26
    • 2019-08-22
    • 1970-01-01
    • 2011-11-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多