首页 \ 问答 \ 在C#中使用Selenium WebDriver执行JavaScript(Execute JavaScript using Selenium WebDriver in C#)

在C#中使用Selenium WebDriver执行JavaScript(Execute JavaScript using Selenium WebDriver in C#)

这是如何实现的? 这里说的java版本是:

WebDriver driver; // Assigned elsewhere
JavascriptExecutor js = (JavascriptExecutor) driver;
js.executeScript("return document.title");

但是我找不到C#代码来做到这一点。


How is this achieved? Here it says the java version is:

WebDriver driver; // Assigned elsewhere
JavascriptExecutor js = (JavascriptExecutor) driver;
js.executeScript("return document.title");

But I can't find the C# code to do this.


原文:https://stackoverflow.com/questions/6229769
更新时间:2023-05-06 09:05

最满意答案

您可以使用Google Chrome开发人员工具(以及其他浏览器)来完成此操作。

  1. 打开Google Chrome浏览器并导航至第一个网址
  2. 打开开发工具 (⌘+ option + i)
  3. 前往“ 网络 ”选项卡
  4. 点击“ 保存日志 ”和“ XHR ”(因为它是一个XMLHttpRequest) 在这里输入图像描述
  5. 重新加载页面,你会看到第二个URLXMLHttpRequest 在这里输入图像描述

注意:在这种情况下,我猜想它是由XHR加载的,但我建议下次单击“All”而不是“XHR”。 你会看到更多的结果,你需要过滤和/或需要更多的时间来找到关于此事的呼叫/请求,但它会更准确。


You can do that by using Google Chrome Developer Tools (and with other browsers as well).

  1. Open Google Chrome browser and navigate to the first URL
  2. Open Developer Tools (⌘ + option + i)
  3. Head to "Network" tab
  4. Click on "Preserve log" and on "XHR" (since it's an XMLHttpRequest) enter image description here
  5. Reload the page and you'll see the XMLHttpRequest to the second URL enter image description here

Note: In this case I guessed that it was loaded by an XHR but I'd recommend to click "All" instead of "XHR" next time. You'll see more results and you'll need to filter and/or take some more time to find the call/request on the matter, but it'll be more accurate.

相关问答

更多
  • Mobile Detect是一个轻量级的PHP类,用于检测移动设备(包括平板电脑)。 它使用User-Agent字符串与特定HTTP标头相结合来检测移动环境。 使用它,只显示移动设备的内容非常简单: include 'Mobile_Detect.php'; $detect = new Mobile_Detect(); // Check for any mobile device. if ($detect->isMobile() && $_SERVER['REQUEST_URI'] == "YOUR_URL ...
  • 您的正则表达式模式不能确保在最后一次匹配之前有一个句点(点)。 所以http://test匹配: http:// te st 并且您需要更新您的模式以确保在正确的位置有点。 记得逃避点是不是通配符。 Your regex pattern doesn't ensure that there is a period (dot) before the last match is made. So http://test is matching: http:// te st And you need to upda ...
  • 我认为id会在$matches[0] 。 但是这个正则表达式模式会匹配最后一个数字的任何url。 例如 http://differentdomain.com/whatever/7 也许这对你来说已经足够了,如果没有,请更详细地描述你的用例。 use it: return $id3 = $parts[count($parts) - 3];
  • 您应该使用MD5哈希 。 碰撞率应该小得多。 You should probably use an MD5 hash. The collision rate should be much smaller.
  • 您可以使用Google Chrome开发人员工具(以及其他浏览器)来完成此操作。 打开Google Chrome浏览器并导航至第一个网址 打开开发工具 (⌘+ option + i) 前往“ 网络 ”选项卡 点击“ 保存日志 ”和“ XHR ”(因为它是一个XMLHttpRequest) 重新加载页面,你会看到第二个URL的XMLHttpRequest 注意:在这种情况下,我猜想它是由XHR加载的,但我建议下次单击“All”而不是“XHR”。 你会看到更多的结果,你需要过滤和/或需要更多的时间来找到关于此事 ...
  • 这应该做,将你的链接放在一个名为links.txt的文件中,并在代码中用你想要搜索的url替换example.com,然后执行 编辑:
  • 如果要从文本文件中读取,请使用您注释掉的代码。 至于“性能”问题:您的代码在读取操作时阻止,直到返回网站内容为止。 理想情况下,您希望并行运行这些请求。 例如,您需要使用线程来实现并行化解决方案。 以下是使用gevent(非标准)的不同方法的示例 If you want to read from a textfile, use the code you commented out. As for the "performance" problem: Your code blocks at the read ...
  • 此解决方案需要每个工作人员一个后端加上负载平衡后端: haproxy将所有常规请求发送到一般后端 工人们在客户端设置了一个cookie 后续请求通过检查cookie(使用hdr_sub(Cookie))发送到特定于工作程序的后端,类似于``use_backend worker1 if {hdr_sub(Cookie)SRV = 1} 是的,整个文件都通过haproxy。 您可以让工作人员直接将客户端重定向到工作者,在这种情况下,客户端将继续使用该工作者。 但是,如果工作人员宕机,客户将无法找到不同的工作人员 ...
  • 您可以尝试添加此行: You can try to add this line:
  • 您需要使用basename()函数从URL字符串中获取filename 。 演示 You need to use basename() function for get your filename from the URL string.

相关文章

更多

最新问答

更多
  • 散列包括方法和/或嵌套属性(Hash include methods and/or nested attributes)
  • TensorFlow:基于索引列表创建新张量(TensorFlow: Create a new tensor based on list of indices)
  • 企业安全培训的各项内容
  • 错误:RPC失败;(error: RPC failed; curl transfer closed with outstanding read data remaining)
  • NumPy:将int64值存储在np.array中并使用dtype float64并将其转换回整数是否安全?(NumPy: Is it safe to store an int64 value in an np.array with dtype float64 and later convert it back to integer?)
  • 注销后如何隐藏导航portlet?(How to hide navigation portlet after logout?)
  • 将多个行和可变行移动到列(moving multiple and variable rows to columns)
  • 对setOnInfoWindowClickListener的意图(Intent on setOnInfoWindowClickListener)
  • Angular $资源不会改变方法(Angular $resource doesn't change method)
  • 如何配置Composite C1以将.m和桌面作为同一站点提供服务(How to configure Composite C1 to serve .m and desktop as the same site)
  • 不适用:悬停在悬停时:在元素之前[复制](Don't apply :hover when hovering on :before element [duplicate])
  • Mysql DB单个字段匹配多个其他字段(Mysql DB single field matching to multiple other fields)
  • 产品页面上的Magento Up出售对齐问题(Magento Up sell alignment issue on the products page)
  • 是否可以嵌套hazelcast IMaps?(Is it possible to nest hazelcast IMaps? And whick side effects can I expect? Is it a good Idea anyway?)
  • UIViewAnimationOptionRepeat在两个动画之间暂停(UIViewAnimationOptionRepeat pausing in between two animations)
  • 在x-kendo-template中使用Razor查询(Using Razor query within x-kendo-template)
  • 在BeautifulSoup中替换文本而不转义(Replace text without escaping in BeautifulSoup)
  • 如何在存根或模拟不存在的方法时配置Rspec以引发错误?(How can I configure Rspec to raise error when stubbing or mocking non-existing methods?)
  • asp用javascript(asp with javascript)
  • “%()s”在sql查询中的含义是什么?(What does “%()s” means in sql query?)
  • 如何为其编辑的内容提供自定义UITableViewCell上下文?(How to give a custom UITableViewCell context of what it is editing?)
  • c ++十进制到二进制,然后使用操作,然后回到十进制(c++ Decimal to binary, then use operation, then back to decimal)
  • 以编程方式创建视频?(Create videos programmatically?)
  • 无法在BeautifulSoup中正确解析数据(Unable to parse data correctly in BeautifulSoup)
  • webform和mvc的区别 知乎
  • 如何使用wadl2java生成REST服务模板,其中POST / PUT方法具有参数?(How do you generate REST service template with wadl2java where POST/PUT methods have parameters?)
  • 我无法理解我的travis构建有什么问题(I am having trouble understanding what is wrong with my travis build)
  • iOS9 Scope Bar出现在Search Bar后面或旁边(iOS9 Scope Bar appears either behind or beside Search Bar)
  • 为什么开机慢上面还显示;Inetrnet,Explorer
  • 有关调用远程WCF服务的超时问题(Timeout Question about Invoking a Remote WCF Service)