webdriver相关内容

无头浏览器检测

您知道任何试图检测用户是否正在使用Selenium/puppeteer/phantomJS或任何其他无头浏览器的webapps/在线测试/在线防火墙吗? 我已经创建了我的木偶在线爬虫.我已经更改了许多不同的内容,例如window.navigator对象(用户代理,〜.webdriver等). 现在,我要确保它不可检测. 解决方案 有一个 用户代理是否包含字符串"Headless ..
发布时间:2020-05-26 19:48:07 其他开发

PhantomJS Web驱动程序保留在内存中

我使用以下代码在C#中实例化PhantomJSDriver: Driver = new PhantomJSDriver(); 并使用以下命令对其进行清理: Driver.Dispose(); Driver = null; 该进程应该退出还是留在内存中?如果应该保留在Windows 7任务管理器中可见的内存中,我可以通过编程方式将其杀死吗?我应该吗? 解决方案 直接回答, ..
发布时间:2020-05-26 19:47:39 C#/.NET

在新标签页中打开Web Selenium + Python

因此,我试图在WebDriver内的新选项卡上打开网站.我想这样做,因为使用PhantomJS为每个网站打开一个新的WebDriver大约需要3.5秒,所以我想提高速度... 我使用的是多进程python脚本,我想从每个页面中获取一些元素,因此工作流程如下: Open Browser Loop throught my array For element in array -> Ope ..
发布时间:2020-05-26 19:47:32 Python

衡量UI性能的工具

任何人都可以推荐一种工具来衡量Web App的UI级别的性能吗? 我不是在专门进行负载测试,我们的应用一次最多只能容纳5个用户,我希望能够自动执行并重新运行的指标是诸如“页面加载时间",点击一次发生事件的按钮,滑出疼痛的反应时间等.我们正在分别衡量API性能,并希望能够确定速度下降是API问题还是可以在UI中解决的问题. 理想情况下,我可以将某些东西与Selenium结合使用,单击一个 ..

使用Selenium Webdriver屏幕截图导出为PDF

有人知道是否可以使用Selenium Firefox WebDriver中的屏幕截图功能将HTML导出为PDF?我有一个网页,其中包含打印的特定CSS,我需要自动下载.我知道屏幕截图功能会将页面的屏幕截图用作图像,但是我一直在寻找可打印的可缩放PDF文件. 解决方案 Selenium中的屏幕截图另存为PNG. PNG和PDF是不同类型的格式.因此Selenium无法将HTML页面图像直接另 ..

使用TestNG运行并行测试时捕获WebDriver屏幕截图

我目前正在通过分别重写TestListenerAdapter方法onTestFailure和onTestSuccess来捕获有关TestNG成功和失败的屏幕截图.为此,您需要指定要为其截屏的驱动程序. 我的问题:在方法级别上并行运行测试时,是否有捕获截图的好方法? 为了并行运行测试,每个单独的测试都需要一个唯一的驱动程序实例.因此,在任何给定时间,您都有x个正在运行的驱动程序实例.当需 ..

TestNG和Selenium- IE无法启动独立线程

我正在使用TestNG和Selenium进行并行测试.这在Firefox和Chrome中效果很好,但在IE中却无法使用.我让Web驱动程序执行的步骤如下: 使用来自testng.xml的参数(在下面找到)创建浏览器实例 从测试用户凭据池中选择一个可用用户 用户已登录 测试继续 当IE启动其实例时,所有实例都分配有相同的用户.此外,所有实例似乎都在争夺哪个焦点. (相反,在Fire ..

如何在Selenium for Python中切换到新窗口?

我正在使用Python进行硒自动化项目. 我正面临一个问题,该问题正在处理多个浏览器窗口. 方案如下.当我单击主页上的链接时,将打开一个新窗口.在新打开的窗口中,我无法执行任何操作,因为焦点仍然位于主页Web驱动程序上. 有人可以告诉我如何将焦点从背景窗口更改为新打开的窗口吗? 可能的解决方法是driver.switch_to.window(),但是它需要窗口的名称.如何找 ..
发布时间:2020-05-19 22:53:29 Python

从Promise块返回函数中的值

我正在尝试编写一个函数(使用WebdriverJS lib),该函数遍历元素列表,检查名称并构建与该名称相对应的xpath定位器.我在这里简化了xpath定位器,所以不用注意. 我在这里面临的问题是: 1)调用此函数将返回未定义.据我了解,这是因为return语句不在其位置,而是: 2)将其放置在同步代码通常可以正常工作的正确位置,不适用于异步承诺,因此调用此函数将返回相同的未定义,但是因为 ..
发布时间:2020-05-18 01:40:36 其他开发