问题标签 [symfony-panther]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
webbrowser-control - 如何使用 Symfony 5 + Panther + Webbrowser + Chrome + setValue + Hmtl + Js 设置输入字段值
如何在基本常规控制器中设置而不是从 TestCase 扩展的 TestController,设置为 Web 文本值的输入字段?
symfony - 无法启动 Symfony Panther
我第一次尝试使用Symfony Panther(Symfony 5.1,Windows 10,我有 Chrome 和 Firefox),但第一行已经无法正常工作。
使用 Github 文档(基本用法),这是我的错误:
Firefox 的第二次尝试:
第三次尝试使用 Firefox 和二进制:
selenium-chromedriver - 无法使用 findElements()、filter() 或 selectLink() 定位特定的 HTML 元素
我无法弄清楚为什么爬虫无法找到该元素。这是一个简单的元素...
我试过跑步$client->refreshCrawler()
该网站非常重 JS 和 AJAX,所以我想知道如果可能的话,内容是否可能以某种方式在隐藏的 DOM 中?
我在检查 a 标签时注意到有一个事件并且旁边有“DOM2”
这些是我测试过的所有尝试:
但每一个都返回The current node list is empty
php - Symfony Panther && Docker (Alpine) chrome 不断崩溃
最近我决定检查一下 Symfony Panther HTTP 客户端。我认为将它集成到测试和事物中会很好。
我确实非常仔细地遵循了文档。我已经为 PHP 单元注册了它的扩展。在扩展 Panther 测试用例后,我可以创建一个 Panther 客户端 - 没问题。
当我尝试拨打实际电话时出现问题。比方说:
数组中的这些选项 - 我只是在尝试,我认为它可能会有所帮助。我得到的错误如下:
我确实查看了文档和 SO 以寻求解决方案,但我真的找不到任何可以帮助我的东西。
有谁知道为什么会这样?
这是我的 PHP Dockerfile
php - Symfony 爬虫在没有 FORM 的 SELECT 列表中选择 OPTION
我正在抓取一个网站,该网站有一个独立的 SELECT,没有 FORM 父级,没有 NAME,只有 ID。
我可以选择它
和
将打开列表,但是如何按值或名称在列表中选择一个值?
symfony-panther - 如何在外部网站上使用 Panther 登录?
我使用 symfony/panther 进行网络爬取。要访问我想要的页面,我需要经过身份验证,但我不知道该怎么做。
我努力了 :
但它不起作用,我的用户没有经过身份验证。
我想我需要检索一个 cookie 并将其添加到我的客户端,但我不知道该怎么做。有人可以给我执行此操作的步骤吗?
php - Symfony 4.4 PHPUnit Panther:Facebook\WebDriver\Exception\SessionNotCreatedException:会话未创建
这是我的测试文件:
当我运行命令时:
这给了我一个错误:
我在 DuckDuckGo 上进行了搜索,但与 Symfony、PHPUnit 甚至 PHP 语言无关。
我倾向于版本问题,这是我的composer.json:
这是我的 phpunit.xml.dist:
如果我按照 symfony/panther 的建议添加该行:
这给了我错误:
但是使用 Symfony\Component\Panther\ServerExtension 它给了我错误:
预先感谢您的帮助。
php - Symfony & Panther:Panther 不加载 - 无法创建 PantherClient()
我在Symfony 4.4项目中遇到了 Panther 的问题。这个项目已经有了LiipFunctionnalTestBundle
,但是为了测试 JS,我想要 Panther。我已经在我的作曲家中安装了 Panther,我可以使用或使用Panther"symfony/panther": "^0.8.0"
来扩展我的课程和(根据文档symfony/panther)。但我不确定我的项目是否初始化了 Panther ......如果我做一个简单的测试,比如:PantherTestCase
PantherTestCaseTrait
Liip
测试时我会收到一条错误消息:
如果我尝试在 Trait 中使用Liip
with WebTestCase
and Panther :它一直在工作,直到我想使用 Panther 的特定断言。然后我的 IDE 说'assertSelectorIsEnabled'
在NewsControllerPantherTest'
. 该方法createPantherClient
无法识别,因此即使我尝试将本地主机和端口放入它,它也不起作用......
所以,我认为 Panther 在我的项目中但没有加载?我在一台装有 Mamp、PHP 7.4.1 和 Apache 的 Windows PC 上。
正如文档中所说,我已将标签放在 phpunit.xml.dist 中。
非常感谢您的帮助 =)
php - 为 Panther 设置一个 ChromeDriver 实例,而不是为每个请求创建一个
我在一个不使用 Symfony 的 PHP 项目中使用 Symfony Panther 进行网页抓取(不是测试)。我通过 Composer 安装。每次我需要抓取用户提交的链接时,我都会启动一个新的 Chrome 浏览器。
为每个提交的文件启动一个新的 Chrome 浏览器$url
既慢又占用资源,所以我想让 Chrome 客户端在端口 9515 上运行,然后每个用户的$url
请求都可以连接到同一个实例。根据 Github 上的一些用户评论,这听起来是一种合理的方法:
- 在 Linux 服务器上启动一个 Chrome 实例,在端口 9515 上运行
- 使每个 url 请求连接到该实例。
我将第一行,即 createChromeClient 放在 CRON 作业的 php 脚本中,但它从未启动 chrome 客户端,我也没有收到任何错误。任何想法如何实现这一目标?
php - Symfony Panther 中 getInternalResponse 的 getHeader 总是返回一个空数组
通过使用 Symfony Panther,我发送了一个请求,我想得到响应。我能够获得正文和状态代码,但对于标题我只有一个空数组。