我正在尝试使用Phpquery的WebBrowser插件登录网站.我能够成功登录,但我不确定如何从上一个电话中重复使用cookie. $client = phpQuery::browserGet('https://website.com/login', 'success1'); function success1($browser) { $handle = $browser ->WebBrowser('success2'); $handle ->find('input[name=name]') ->val('username'); $handle ->find('input[name=pass]') ->val('password') ->parents('form') ->submit(); } function success2($browser) { print $brow
以下是关于 browser 的编程技术问答
说,我浏览了需要登录才能访问内容的网站(也在Intranet上).我将填写所需的字段...例如用户名,密码和任何验证码等都是从浏览器本身登录所必需的. 登录到网站后,登录后,可以从第一页上的几个链接和选项卡中刮擦很多东西. 现在,从这一点开始(即从浏览器登录后).我想控制页面并从Urllib2下载...就像逐页上的浏览,下载PDF和每个页面上的图像等等. 我知道我们可以直接使用Urllib2(或机械化)(即登录到页面并完成整个操作)的所有内容. 但是,对于某些站点. 请建议.希望我的问题有意义. 总而言之,我希望使用Web浏览器手动完成初始登录部分...然后接管自动化以通过Urllib2刮擦. 解决方案 您是否考虑过 selenium ?这是关于浏览器自动化而不是HTTP请求(URLLIB2),您可以在步骤之间操纵浏览器. 其他解决方案 您要使用cookielib模块. /p> 您可以使用浏览器登录,然后将cookie导出到Nets
我正在尝试使用.net C#自动化WebBrowser.问题是控制或我应该说IE浏览器在不同计算机上的行为奇怪.例如,我是单击链接上的单击,并在这样的第一台计算机上填充Ajax弹出式表单,而没有任何错误: private void btn_Start_Click(object sender, RoutedEventArgs e) { webbrowserIE.Navigate("http://www.test.com/"); webbrowserIE.DocumentCompleted += fillup_LoadCompleted; } void fillup_LoadCompleted(object sender, System.Windows.Forms.WebBrowserDocumentCompletedEventArgs e) { System.Windows.Forms.HtmlElement ele = web_BrowserIE.Doc
I Am(WAS)是一个正在构建GUI Web刮擦应用程序的Python开发人员.最近,我决定迁移到.NET框架并在C#中编写相同的应用程序(此决定不是我的). 在Python中,我使用了机械化库.但是,我似乎找不到.NET中的任何类似内容.我需要的是一个将在无头模式下运行的浏览器,该浏览器具有填写表格,提交表格等能力.JavaScript解析器不是必须的,但这将非常有用. 解决方案 有一些选择: awesomium 它基于Chrome/Webkit,其工作方式就像魅力. 有免费的许可证,也有商业许可证,如果需要,您可以购买源代码: - ) HttpWebRequest ) 其他解决方案 更多解决方案: optionus ( nuget软件包) - 轻巧的无头网络浏览器.它是在Beta中,但在某些情况下足够. 我曾经两者都将两者都用于网络测试.但是它们也适合网络刮擦. 其他解决方案 您可能会追随 trifejs (目前在beta中)
我正在使用贝塔特(Behat). 目前,我正在为WEBRTC建立测试.问题是WEBRTC具有一个浏览器权限对话框,用户必须在其中选择他们想要共享媒体.由于此权限来自浏览器本身,而不是HTML,我不知道如何接受Mink或即使可能接受. 是否有有关此的工作或标准解决方案?我认为对于浏览器需要使用用户权限的任何内容,同一问题也是如此. 解决方案 选项1:感觉就像是"大锤破裂",但我可以找到的主要答案是用 您必须准备这样的自动设备,以便它等待任何浏览器下载对话框,Selenium放弃,控制窗口,保存文件并关闭窗口的点.之后,硒可以像往常一样继续. (我自己没有尝试过这个,所以我不能给出更详细的答案,恐怕 选项2:您可能认为您可以只是设置有问题的浏览器始终接受这些请求 ,但它此设置可能不会影响硒(至少不适合Chrome,不确定Firefox).如果您可以弄清楚为什么这样做 - 或者如果它确实在ff-中起作用,那可能是一个更简单的修复!
我知道Web浏览器对同时http请求等的量有限制,但是是否对开放rtcpeerconnection的网页也有一个限制? 且有些相关:rtcpeerconnection允许在1个连接上发送多个流.在1连接中组合多个流或设置多个连接之间的权衡是什么? ? 解决方案 不确定限制,但我认为大约是256(我上次听到).我最近看到有人在一个网页上进行了200个连接(通过 http://testrtc.com ). ) 多个rtcpeerconnection对象很棒: 它们易于添加和删除,因此加入或离开小组呼叫时提供更高的灵活性 他们可以连接到不同的目的地 也就是说,他们有自己的挑战和开销: 每个rtcpeerconnection都带有自己的NAT配置 - 因此,即使它们连接到同一实体(例如,例如SFU),也会在rtcpeerconnection对象之间并行绑定和交通.该开销是内存和CPU等本地资源之一,也是网络流量(不是巨大的开销,但可以处理) 他们将您
im构建一个应用程序,该应用程序在用户登录到我的网站后,应用程序转到链接以获取他的用户名,因此我将在应用程序上识别他. 现在,如果我是从浏览器登录的用户登录,然后将其粘贴在该浏览器上,我将获得用户名的页面,但是如果我从代码中执行Web请求,则会获得一个空页面. 我的问题是如何以浏览器打开URL或如何在Certin浏览器上获得cookie的值 我尝试了 string s= GetHtmlPage("http://www.somedomain.com/account/show_cookies.php","Mozilla/5.0 (Windows; U; MSIE 9.0; Windows NT 9.0; en-US)"); static string GetHtmlPage(string strURL,string browser) { String strResult; System.Net.Web
我正在使用WebBrowser登录站点,然后我想使用Regex获取一些数据,但是WebRequest没有使用Web浏览cookie, 我的webbrowser在公开场合, 有什么方法可以在WebRequest中使用WebBrowser cookie? 解决方案 public CookieContainer GetCookieContainer() { CookieContainer container = new CookieContainer(); foreach (string cookie in webBrowser1.Document.Cookie.Split(';')) { string name = cookie.Split('=')[0]; string value = cookie.Substring(name.Length + 1);
我们有一个浏览器列表,我们测试了我们的WebApp.我有一项任务来通知用户是否不支持或测试过他的应用程序. 我们在项目中有A browserslist配置,我正在寻找一种在列表中测试当前浏览器的方法. 我尝试了browserlist-useragent,但是由于它使用net,fs,tls和其他我们不想包含在我们的捆绑包中的事实,因此我们无法将其编译为WebPack. 有什么更好的方法可以避免在许多不同的地方复制支持的浏览器列表,并且只使用已经存在的浏览列表配置来检测用户是否使用了一个支持? 解决方案 我会考虑在使用browserslist的项目中使用此"实用程序"软件包https://github.com/browserslist/browserslist-useragent-regexp,然后使用该软件包建议的脚本生成的文件,然后使用其他任何地方. 实际上,您想要的只是生成文件中的正则拨号.可以将其放置在浏览器检测所需的任何客户端或服务器代码中.我把我的art放在了
我的问题非常接近其他人 仍然需要另一个我想避免的webpack步骤.但这是故事的首先: 我有一个节点模块(我们称其为libfoo),该模块提供了一些功能,需要一些第三方模块, 和 small 脚本main.js提供了主要入口点并需要libfoo: main.js: const foo = require('foo'); function main() { foo.bar(); } main(); 我现在想使用webpack将libfoo和main.js main.js转换为浏览器可执行文件可交付成果.我想要libfoo(非常大)可以静态地驻留在目标系统上,而main.js非常小并且会迅速变化(试想一下libfoo的测试场景,其中libfoo是我要测试的模块,并且main.js>包含更改代码片段) 我设法创建了两个软件包 - 让我们称它们为foo.browser.js和main.browser.js - 包含所有所需功能>. 我还不喜欢WebPac
此问题的简短版本是我们看到了典型的CORS错误(x has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.),但是我们绝对发送指定的标题.请求可以从n(模式不确定的)时间开始之后开始(除了它是HTML文件中引用的随机1或2个资产之外,没有其他模式)请求突然开始失败. 在硬刷新或禁用缓存时,问题已解决. 我们想知道在这种情况下,缓存可能会影响CORS?或者如果问题位于其他地方? 我们看到的是资产在首先加载良好. 这是浏览器( chrome ,未在其他地方测试)发送到服务器的卷曲表示( s3 的云云): curl -I 'https://assets-frontend.kalohq.ink/style.allapps.add899080acbbeed5bb6a7301d234b65.css' -H 'Re
与html不同,CSS是或根据 浏览器如何工作 ,webkit,webkit使用 flex and bison and bison 解析器生成器从CSS Grammar Files自动创建Parsers. 由于webkit是一个开源项目,我希望可以在 中找到这些语法文件.源代码 .不过,我找不到它.谁能在这里帮我吗? 注1: 我不是问 如何浏览器parse/render css / 如何浏览器阅读和解释CSS !! 我已经知道了.实际上,在上述文章我要寻找的是Webkit用来解析/渲染CSS的特定CSS语法文件,我无法在任何地方找到. 注2: 我也不是 要求任何人推荐或找到书籍,工具,软件库,教程或其他异地... 我只是想在哪里可以找到Webkit使用(或使用)用于解析CSS的文件,因为我一直找不到它们. 注3: 我是因为我正在寻找一种解析CSS的方便方法.我想在浏览器解析CSS的方式上以这种方法为基础(更具体地说=通过分析Webkit浏
做更新: 我正在为Android WebKit浏览器编写媒体播放器插件,并且我的插件需要通过JavaScript从网页中获取命令(某些操作(例如play/pause/stop/stop/resize)作为javaScript命令从浏览器发出)) .我的插件用本机C代码编写.有没有可用于JavaScript通信的示例或示例插件? 解决方案 WebKit不支持XPCOM,因为WebKit与Mozilla堆栈完全分开. 当您说要"实现JavaScript"时,您是什么意思? 内置的Android浏览器已经支持JavaScript的执行. 其他解决方案 Android浏览器一直支持NPAPI,但机构在2.1中发生了变化,现在它寻找具有Intent Filter" Android.webkit.plugin"的APK,因此需要单独打包插件. 先前在WebView上设置插件路径并使用NDK编译插件做到了. 希望这会有所帮助,当搜索NPAPI和WebView或NPAPI
我目前正在C#.NET中使用WebKit. 在WebKit中加载此页面时,我面临麻烦. http://shop.orange.co.uk/mobile-phones/4g -ready-phone 或 http://www.vax.co.uk/ WebKit成功显示其他网页内容 但是,在上述网页的情况下.有 一个空白的网页.没有页面原始内容. 当此页面在Firefox中运行良好时,Opera浏览器. 有什么帮助吗? 感染这不是唯一的页面. 问候. 解决方案 我没有找到WebKitDotnet项目检查或调试HTML/JavaScript的方法.而且看来没有一段时间. 因此,如果您有能力转移到其他网络引擎,我建议您 cefsharp-嵌入铬a>.我相信,它具有所有功能WebKitDotnet具有功能,并且还允许连接Chrome浏览器检查器来调试页面.为此,您需要设置remotedeBuggingPort属性: var settings = new CefSettings(
var a = document.createElement('a'); a.href = url; var clk = document.createEvent('MouseEvents'); clk.initMouseEvent('click', true, true, window, 0, 0, 0, 0, 0, true, false, false, true, 0, null); a.dispatchEvent(clk); 使用此方法时,http_referer不发送.你能帮我吗? (方法模拟ctrl+click链接) 解决方案 请尝试将其添加到您的 这应该将其修复到桌面野生动物园中.它可能无法为iOS Safari修复它.您可能需要使用原始内容. 一个很好的解释:
我使用SWT.Webkit作为基于SWT的Java应用程序的浏览器遇到了麻烦,现在我在新机器上启动应用程序时会得到此stacktrace: Exception in thread "main" org.eclipse.swt.SWTError: No more handles [Safari mus t be installed to use a SWT.WEBKIT-style Browser] at org.eclipse.swt.SWT.error(Unknown Source) at org.eclipse.swt.browser.WebKit.create(Unknown Source) at org.eclipse.swt.browser.Browser.(Unknown Source) [...] 现在,我确实遵循了SWT常见问题解答如何使用WebKit的所有步骤; Safari已安装,J
嗨,我当前有2页(index.html和iframe_contents.html).两者都在同一域中. 我目前正在尝试根据内容大小使iframe动态调整大小. 我正在用它来帮助我我将其范围缩小到iframe_contents.html中的身体标签,当内容高度更改时,而仅在iframe中时不会收缩.如果我收缩/扩大元素,则iframe_contents.html不在iframe中. 这是一个特定问题吗? 解决方案 在这里阅读了很多答案后,他们都有相同的问题,在需要时没有调整大小.我认为大多数人只是在框架加载后进行一次调整大小,所以也许不在乎.我需要在窗口大小更改时再次调整大小.因此,对我来说,如果他们使窗户变窄,那么iframe会变得很高,那么当它们使窗户更大时,它应该会再次变短.这不是在某些浏览器上发生的,因为Scrollheight,ClientHeight,jQuery Height()以及我在DOM Inspector(Firebug/Chrome Dev
我经常读到阅读元素样式后改变样式是一种不良习惯,因为它触发了不必要的回流.从不良代码: elementA.className = "a-style"; var heightA = elementA.offsetHeight; // layout is needed elementB.className = "b-style"; // invalidates the layout var heightB = elementB.offsetHeight; // layout is needed again 好的代码: elementA.className = "a-style"; elementB.className = "b-style"; var heightA = elementA.offsetHeight; // layout is needed and calculated var heightB = elementB.offsetHeight;
我非常清楚您不允许您通过拖放上传整个文件夹.问题是,我该如何判断有人试图做到这一点?如果将文件夹拖到浏览器中,它的行为就像您拖动了一些扩展名WebKit不知道的文件,例如'.sh'.你怎么说差异? 我已经在Mac OS X和Windows上的Chrome和Safari和Firefox中对此进行了测试.根据浏览器和操作系统,我的结果略有不同.有时它成功地上传了零字节文件.有时它会上传文件夹的图片.有时它无法上传任何内容. event.datatransfer.types and event.datatransfer.items lie and type分别是" file"或" file". Firefox提供此类型列表: {"0":"application/x-moz-file","1":"text/x-moz-url","2":"text/plain","3":"Files"} 解决方案 我找到了一种方法.这些信息可以通过getasentry在dataTra