【问题标题】:CefSharp javascript element click doesn't work, but clicking on it manually doesCefSharp javascript元素点击不起作用,但手动点击它
【发布时间】:2016-04-13 17:11:24
【问题描述】:

我正在尝试自动浏览网页。我进入一个带有表格的页面,我正试图进入下一页。跳转到下一页的元素如下所示:

<td id="last_pager_s_1_l" class="ui-pg-button ui-corner-all" style="cursor: default;"><span class="ui-icon ui-icon-seek-end" title="Next record set"></span></td>

我尝试使用以下方式以编程方式点击它:

JavascriptResponse response = await browser.EvaluateScriptAsync("document.getElementById('last_pager_s_1_l').click()");

response.success = true 所以它看起来像点击了,但页面上没有任何反应。当我用鼠标单击它时,它会前进页面并且控制台显示以下内容:

CONSOLE: GotoNextSet (https://<url>/23030/scripts/siebel/siebjs.js?_scb=|38)

很明显,跳转到下一页所需的函数位于页面中加载的siebjs.js文件中,如下所示:

<script language="javascript" src="23030/scripts/siebel/siebjs.js?_scb="></script>

有谁知道如何调用 siebjs.js 文件中的函数来推进页面?

谢谢, 吉姆

【问题讨论】:

  • 如果你在DecTools控制台执行你的脚本会发生什么?
  • 它什么也不做,返回未定义。就像测试一样,我在另一个元素上执行了单击,它工作正常并且还返回未定义。我看了看,有一个点击事件的监听器。我取消选中了祖先和框架侦听器,但那里仍然有一个。它链接到 jquery.js?_scb=:2746
  • 我实际上尝试运行该行并得到: Uncaught SyntaxError: Unexpected token : at Object.InjectedScript._evaluateOn (:875:140) at Object.InjectedScript._evaluateAndWrap (: 808:34) 在 Object.InjectedScript.evaluate (:664:21)InjectedScript._evaluateOn @ VM347:875InjectedScript._evaluateAndWrap @ VM347:808InjectedScript.evaluate @ VM347:664 似乎编程点击应该与一个物理的。

标签: javascript jquery chromium-embedded cefsharp siebel


【解决方案1】:

在我看来,您希望在 Siebel 中自动执行用户行为,如果您使用的是运行 Open UI 的 Siebel,那么 WebDriver approach 可能会帮助您做您想做的事情。

在 Selenium 项目页面上,可以找到 C# libraries 的特定下载。

【讨论】:

  • 您说得对,我想在 Siebel 中自动化用户行为。我找到了这个链接:siebelhub.com/main/2015/03/…,这让我对如何使用注入的 java 脚本直接查询 Siebel 有了一些了解。解决方案相当长,似乎对这篇文章没有太大兴趣,所以我从未发布过我是如何做到的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-04-04
  • 2015-10-07
  • 1970-01-01
  • 2022-01-14
  • 1970-01-01
相关资源
最近更新 更多