PHantom JS有50%的时间是失败的
我搜索文本框,然后尝试用字符串填充它.这是代码: var fname = _driver.FindElement(By.Name("iFirstName"), 50); if(fname!=null) { do { System.Threading.Thread.Sleep(500); } while (!fname.Displayed); fname.SendKeys(myName); } FindElement函数是这样: public static IWebElement FindElement(this IWebDriver driver, By by, int timeoutInSeconds) { if (timeoutInSeconds > 0) { var wait
0 2024-04-20
编程技术问答社区
如何点击'新的<div>',在点击按钮后新产生的? 在C# selenium中
在我单击按钮之前,页面的HTML代码为 但是在单击按钮后,代码在此处显示的代码如图所示 我试图找到新按钮,但总是"无法找到元素〜@"] wait.Until(ExpectedConditions.ElementExists(By.XPath("//*[@id='layerContainer']/div/section/div/div[2]/form/article/footer/div/button"))); IWebElement submit2 = this.driver.FindElement(By.XPath("//*[@id='layerContainer']/div/section/div/div[2]/form/article/footer/div/button")); submit2.Click(); 我的目的是找出新生成的按钮并单击它, 但是它无法一直找出新按钮,有什么方法可以解
0 2024-04-17
编程技术问答社区
如何在PhantomDriver(无头浏览器)中隐藏FirefoxDriver(使用Selenium)而不出现findElement函数错误?
我尝试制作隐藏的firefoxdriver.根据我的研究,我必须使用phantomjsdriver,但是当我使用phantomjsdriver驱动程序时.输入语句不再不起作用. var options = new PhantomJSOptions(); options.AddAdditionalCapability("phantomjs.page.settings.userAgent", "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.94 Safari/537.36"); PhantomJSOptions p = new PhantomJSOptions(); var service = PhantomJSDriverSer
0 2024-04-16
编程技术问答社区
如何在后台启动PhantomJS + Selenium窗口?
我在应用程序中使用了硒 + phantomjs,但是我想在背景中启动我的应用程序,硒和phantomjs窗口.我该怎么办? 我尝试了: PhantomJSOptions options = new PhantomJSOptions(); options.AddAdditionalCapability("start-maximized", false); IWebDriver driver = new PhantomJSDriver(Environment.CurrentDirectory + @"\drivers", options); 解决方案 var serviceJs = PhantomJSDriverService.CreateDefaultService(phantomPath); serviceJs.HideCommandPromptWindow = true; Instance = new PhantomJSDriver(serviceJs);
0 2024-04-16
编程技术问答社区
C# .NET。刮取动态(JS)网站
失败了几个小时后,我来这里.我需要刮擦动态生成的网页(使用vue.js制作,但我不希望共享链接). 我尝试了多种方法( 1 , 2 , 3 ).他们都在此网页上工作. 最有前途的解决方案是使用硒和phantomjs.我尝试过这样的尝试,但我不确定为什么它什至不适用于Google: private void button1_Click(object sender, EventArgs e) { PhantomJSDriverService service = PhantomJSDriverService.CreateDefaultService(); service.IgnoreSslErrors = true; service.LoadImages = false; service.ProxyType = "none"; var driver = new PhantomJSDriver(s
0 2024-04-15
编程技术问答社区
为Selenium PhantomJSDriver指定PhantomJS命令行选项
phantomjs驱动程序支持命令行参数吗?我需要使用Phantomjs驱动程序进行硒测试并禁用Web安全性.我尝试了: PhantomJSOptions options = new PhantomJSOptions(); options.AddAdditionalCapability("web-security",false); driver = new PhantomJSDriver(Environment.CurrentDirectory + @"\drivers", options); 但这似乎不起作用. phantomjsdriver是否允许通过命令行参数? 解决方案 您可以使用这是在硒2.32.0中添加的,这是来自ChangElog的报价: (代表Geoffmcelhanon)为将论点传递给 phantomjs. PhantomjSdriverService现在具有类型安全属性 对于由Phantomjs支
2 2024-04-14
编程技术问答社区
使用C#运行Phantomjs来抓取网页的快照
我正在尝试使用phantomjs获取自己网站的快照 - 基本上,这是为用户提交内容的"预览映像". 我已经在服务器上安装了phantomjs,并已确认从命令行中运行它,相对于适当的页面运行正常.但是,当我尝试从网站上运行它时,它似乎没有任何作用.我已经确认该代码正在调用,幻影实际上正在运行(我已经监视了这些过程,并且在我调用它时可以看到它显示在过程列表中) - 但是,没有生成图像. . 我不确定我应该在哪里寻找它不会创建图像的原因 - 任何建议吗?相关代码块如下: string arguments = "/c rasterize.js http://www.mysite.com/viewcontent.aspx?id=123"; string imagefilename = @"C:\inetpub\vhosts\mysite.com\httpdocs\Uploads\img123.png"; Process p = new Process(); p.StartIn
0 2024-04-13
编程技术问答社区
使用PhantomJS webdriver ExecutePhantomJS来过滤掉图片的C#例子
我希望能够选择性地打开和关闭某些图像.我遇到了以下文章: phantomjs资源 我还发现了使用Python非常相似的这篇文章: 由Phantomjs/Python 我认为我可以通过webdriver.ExecutePhantomJS(string script, params object[] args). 我不知道是否需要首先通过Selenium PageFactory创建某些页面对象,然后调用此功能?我如何再次将其关闭.如何做这件事将非常有帮助. 解决方案 我只是在寻找类似的东西... 例如,这将忽略所有以" .png"结尾的URL: using (var driver = new PhantomJSDriver()) { const string phantomScript = "var page=this;page.onResourceRequested = function(requestData, request)
2 2024-04-12
编程技术问答社区
在C#中使用PhantomJS获取屏幕截图
我已经在我的C#控制台应用程序中添加了Phantomjs和Selenium,并且当浏览器到达特定元素时,我想对浏览器进行屏幕截图.原因是因为由于某种原因,当我使用Chromedriver时,它可以正常工作,但是当我使用phantomjs时,它会在几个元素上失败. 我想我需要介绍如何使用phantomjs在C#中进行屏幕截图.我已经在互联网上环顾四周,看来每个人都在使用Java脚本来做到这一点.我遇到的问题是我不知道如何将Java脚本集成到我的C#应用​​中,然后将其与Phantomjs一起使用以获取屏幕截图.如果我能为此获得一些帮助,那将是非常好的. tldr: 我找到了/testing-javascript-with-phantomjs - net-28243 这就是我想做的,但我不知道如何在我的C#应用​​中使用JavaScript. 解决方案 正如您提到的,您已经为Chrome工作了,最好将其发布,以便显示您到底是什么. 但是,这是如何在C#中使用Phan
0 2024-04-12
编程技术问答社区
Selenium Webdriver PhantomJS C#总是打开一个cmd窗口
我正在尝试将phantomjs与C#中的硒web驱动器一起使用.以下是我的代码: IWebDriver driver = new PhantomJSDriver(); driver.Navigate().GoToUrl("http://www.google.com"); Console.WriteLine(driver.Url); driver.Quit(); 该代码正常工作,但是每当运行时,它都会打开一个CMD窗口,其中显示了Phantomjs的所有日志. CMD也用driver.Quit(). 关闭 问题是我不希望显示CMD窗口.我该怎么做才能实现这一目标? 更新: 当我在Python中执行相同的代码时,CMD窗口不会显示.但是,如果我使用py2exe将Python脚本转换为EXE,则CMD窗口开始再次显示. 解决方案 否,没有办法将phantomjs.sexe的控制台窗口隐藏在.NET绑定中,而无需修改绑定源代码.这被视为绑定的功能,因为它何时无法正确清
0 2024-04-11
编程技术问答社区
Selenium Webdriver + PhantomJS对于一个特定的网站来说,仍然处于约:空白状态
我正在尝试将phantomjs与Selenium Webdriver一起使用并获得成功,但是对于特定的网站,我发现它不会导航到URL.我已经尝试了Python和C#. Python代码: dcap = dict(webdriver.DesiredCapabilities.PHANTOMJS) dcap["phantomjs.page.settings.userAgent"] = ("Mozilla/5.0 (Windows NT 6.2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36") service_args = ['--load-images=false', '--proxy-type=None'] driver = webdriver.PhantomJS(executable_path="C:\\phantomjs.exe", service_args=service_ar
2 2024-04-11
编程技术问答社区
在Windows上从源代码构建PhantomJS-2
我正在尝试从Windows 8.1 x64上的源构建Phantomjs 2的开发版本,基于这些但是我得到以下错误 'mingw32-make' is not recognized as an internal or external command, operable program or batch file. 'nmake' is not recognized as an internal or external command, operable program or batch file. Error: "qmake.exe is missing Can't proceed." 我不确定如何解决此问题,请有人帮助和/或给出有关如何在Windows x64上构建此操作的步骤? 我到目前为止所做的... 安装了Perl,Python,Ruby和Git确保所有路径环境变量 安装QT-Opensource-Windows Exe 在Visual Studio
4 2024-04-05
编程技术问答社区
浏览器提示错误:http.createServer不是一个函数
我尝试浏览此节点JS脚本: var phantom = require('phantom') phantom.create(function(ph) { ph.createPage(function(page) { page.open("editor.html", function(status) { console.log("opened diagram? ", status); page.evaluate(function() { return document.getElementById("GraphImage").src; }, function(result) { //console.log(result); ph.exit(); }); }); }); }); 所以我使用了此命令: browserify my
0 2024-04-04
编程技术问答社区
Phantomjs是否定期自动清除缓存?
如果有这样的功能,我需要更改phantomjs自动缓存的默认时间.有什么想法吗? 解决方案 应该是您要寻找的功能: page.clearMemoryCache() 其他解决方案 每个phantomjs进程都有其自己的内存缓存,因此无需在脚本执行之间清除它.您可以让phantomjs将缓存保存在磁盘中,以使其持续执行.请参阅 --disk-cache选项. . 无法在执行脚本执行期间清除缓存. 另一方面, localStorage每次都持续存在,您不能将其关闭.因此,您可能需要在退出phantomjs之前添加以下片段. page.evaluate(function(){ localStorage.clear(); });
6 2024-04-04
编程技术问答社区
倾倒包括iframes在内的页面HTML
我想转移网页的HTML内容,包括元素中包含的iframe的HTML. Chrome开发人员工具"元素"选项卡能够以这种方式显示嵌入的iframe. 当我说"倾倒HTML内容"时,我对浏览器自动化工具(例如硒或phantomjs)感兴趣.这些工具中的任何一个都具有内置的? 例如,我想 解决方案 您可以使用phantomjs实现此 这是来自Phantom JS服务器代码的代码段. var system = require('system'); var url = system.args[1] || ''; if(url.length > 0) { var page = require('webpage').create(); page.open(url, function (status) { if (status == 'success') { var delay, checker = (function() {
0 2024-04-04
编程技术问答社区
噩梦JS不工作
我知道这个问题的标题看起来很模糊!但这就是它. 我在生产服务器上安装了nodejs,该服务器的phantomjs正常工作,然后我通过npm install nightmare安装了噩梦,我可以在node_modules中看到它,我尝试了开发人员在github上列出的示例: : var Nightmare = require('nightmare'); var nightmare = Nightmare({ show: true }) nightmare .goto('http://yahoo.com') .type('input[title="Search"]', 'github nightmare') .click('#uh-search-button') .wait('#main') .evaluate(function () { return document.querySelector('#main .searchCenterMiddl
2 2024-04-04
编程技术问答社区
哪个版本的CasperJS与PhantomJS配合得好?
但是,当我们每个新手Casperj或phantom的人中,通常都会发生这种情况....他们开始结合最新版本并尝试执行教程(来自旧的日期资源)>>结果是. ..许多部分的错误. 因此,要克服这个问题. 我希望两个版本都有一些笔记,它们可以并排运行. 例如 casperjs 1.0.4和phantomjs 1.8.2 >>不是一个好选择, 因为this.getElementsInfo()的函数在代码中无法正常工作. 解决方案 casperjs 1.1 -beta3与phantomjs 1.9.0-1.9.8. git 最新的Casperjs phantomjs 1.9.0-2.0.0. 避免使用 phantomjs 1.9.8如果需要干净的输出. 我建议安装多个版本:2.0.0、1.9.8和1.9.7并行为不同的可执行文件.然后,您可以在Windows上使用set PHANTOMJS_EXECUTABLE=myphantomjs或Linux上的export PHAN
0 2024-04-04
编程技术问答社区
不安装.net的Headless webkit包装器/驱动程序
我正在寻找.net 的带有以下属性的嵌入式无头浏览器: AJAX/HTML5支持的现代Webkit级别,最好基于WebKit 无头模式(没有可见的浏览器),更速度 零安装(诸如browser.exe和c#包装器DLL复制到项目中) 可靠生产用于基本任务的用法(例如复杂页面的屏幕截图),我不是在这里寻找99.9999的可靠性,但是它需要比Selenium更稳定,更快,我们有很多冗余,因此偶尔会有错误. OpenSource 或免费用于商业用途(理想情况下是MIT许可证),而不是一个废弃的项目 如果不需要安装, phantomjs将是理想的选择. phantomjs似乎符合我所有的标准,而不是"无安装"部分,因此它是当前的最爱,但是在我们花费时间来设置和测试安装phantomjs的多环境部署过程之前数十个数据中心的计算机)我想确保我不会错过更好的选择.我对非WebKit实现开放,但是它需要具有与现代WebKit浏览器相同的功能,并且没有奇数球渲染或Ajax问题.我也有兴
0 2024-04-04
编程技术问答社区
如何使用phantomJS来模拟鼠标在HTML元素上的悬停情况
我有以下phantomjs代码来获取HTML代码: var page = require('webpage').create(); var url = 'http://example.com/'; page.open(url, function (status) { var js = page.evaluate(function () { return document; }); console.log(js.all[0].outerHTML); phantom.exit(); }); 我要获取的内容仅在鼠标悬停在由JavaScript控制的特定元素上时读取,因此上面的代码不起作用. 我想知道如何使用phantomjs代码在HTML元素上模拟鼠标悬停.假设我想鼠标鼠标悬停在元素上,然后将HTML倾倒到输出,我应该如何? 编辑:以下代码不起作用.有什么问题? var page = require('webpag
2 2024-04-03
编程技术问答社区
如何设置PhantomJS的浏览器语言
我正在使用带有phantomjs的dalekjs测试Web应用程序.我有重要的断言,取决于浏览器语言.如果语言不是英语,则这些失败. 有什么想法我如何设置pantomjs的默认浏览器语言?? 欢呼. 解决方案 让我回答自己的问题: 当您在index.html中使用以下代码: 时解决了问题. localStorage.lang = 'en'; 因此,无论使用哪种浏览器,该网站都将以英语显示.
0 2024-04-03
编程技术问答社区