问题标签 [php-webdriver]
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.
php - facebook/php-webdriver 无头下载
关于 facebook/php-webdriver 在非无头时成功下载文件,以及在无头时相同操作失败的帖子不少。我正在为这个库(facebook/php-webdriver)寻找一个成功的RemoteWebdriver无头下载实现。
以下文章表明该库尚不具备设置自定义命令(“Page.setDownloadBehavior”)的灵活性,这可能是成功的无头下载所需要的。但是我还没有看到 PHP 中可行的解决方案的示例。
https://github.com/facebook/php-webdriver/issues/605
有什么可行的解决方案吗?谢谢你。
php - 未捕获的 Facebook\WebDriver\Exception\UnknownCommandException: POST ../element//click while click Google Search button using Selenium and IE 8
click()
我的 php 代码中的函数有问题。它总是抛出这个异常:
致命错误:未捕获的 Facebook\WebDriver\Exception\UnknownCommandException: POST /session/f3cffab9-71ad-4e0a-baab-4a46d807ce3d/element//click
我正在运行它:
- Windows 2008 服务器 x64
- selenium 独立服务器 3.9.1
- PHP 7.1
但它不适用于7.0
或7.2
两者之一。我正在使用最新的 facebook webdriver 和最新IEdriver
的。
我试图运行的代码是:
如果我正确理解所有内容,它应该去谷歌,选择搜索栏并将字符串“test”放在那里。然后它应该选择提交按钮并提交表单。我尝试了不同的站点以及不同的命令,似乎我可以做任何事情,click
除了sendKeys
. 我也尝试了最新的Firefox
并geckodriver
得到了相同的结果。
selenium - WebDriver 异常:无法找到(POST)/wd/hub/session 的处理程序
Google Chrome 79.0.3945.130
ChromeDriver 79.0.3945.36
selenium-server-4.0.0-alpha-4.jar截至 2020 年 1 月 22 日,来自php-webdriver GitHub 的
最新代码
我正在使用 Xfvb 在本地主机上以独立模式启动 Selenium 服务器,如下所示:
然后我有一个测试助手类,它在 PHP 代码中启动:
当我运行测试并调用 RemoteWebDriver::create() 函数时,它会引发异常:
Facebook\WebDriver\Exception\UnknownCommandException:找不到处理程序(POST)/wd/hub/session /home/me/UnitTest/vendor/facebook/webdriver/lib/Exception/WebDriverException.php:137 /home/me/UnitTest /vendor/facebook/webdriver/lib/Remote/HttpCommandExecutor.php:380 /home/me/UnitTest/vendor/facebook/webdriver/lib/Remote/RemoteWebDriver.php:136 /var/www/html/project/core/functions /SeleniumTestHelper.php:6
问题所在的行是:
$driver = RemoteWebDriver::create(' http://localhost:4444/wd/hub ', $caps);
我向 netstat 确认我正在侦听端口 4444 的所有地址。我在我的机器上找不到名为“hub”的目录。我不确定为什么这不起作用,而且似乎没有比这个例外更多的信息让我离开。
php - getLocationOnScreenOnceScrolledIntoView() 不起作用
在php-webdriver 1.6 getLocationOnScreenOnceScrolledIntoView()
版本中工作正常,当我当前更新我的1.8 版本时,它给了我一个错误:
失败:发生异常:未知命令:在 W3C 模式下无法调用非 W3C 标准命令
为什么我会收到此错误?
php - PHP-Webdriver如何从跨度标签中获取文本
这是我拥有的跨度标签:
我正在寻找“This_is_the_Text_I_Need_To_Get”,这是我的代码的一部分:
我得到了什么:
我应该怎么办?
selenium-webdriver - webdriver-firefox 配置文件目录并选择配置文件
我尝试了很多选项,但总是有 /tmp/rust_mozprofileXYZ 配置文件
我将本地文件夹链接到 Firefox 容器并尝试选择它。
我也尝试在容器中创建配置文件并简单地选择它。
全部失败
这是日志
这是一些例子:
我使用 docker-compose
我不知道这是正确的,但在日志中我看到类似的东西
"-firefoxProfileTemplate": "\u002fhome\u002fseluser\u002f.mozilla\u002ffirefox\u002f",
我也尝试了chrome但没有成功
在 chrome in log 我看到
也许 \u002f 是问题?我设置
facebook-php-webdriver - 使用 visibilityOfElementLocated() 函数时会话过期
例子:
有时元素在页面上没有活动的时间太长后出现在页面上,因此网站的会话过期,我们不得不面对错误
目前我的版本是:php-webdriver 1.11.1
有什么解决办法吗?
php - PHP WebDriver - JavaScriptError: Document was unloaded
我正在使用带有 Firefox 的 Symfony Panther 来控制和多次提交一个内部的表单<iframe>
,其中 iframe 和主文档都具有来自同一个外部主机(比如说 example.org)的 URL。
为此,我使用 awhile
检查表单是否可以再次提交。在第一次迭代中,表单已正确提交,但之后我无法再使用对 previous 的引用WebDriver
,因为页面已重新加载。
我运行的进程有一个类似这样的代码:
每个 JavaScript 调用都使用 internal document.querySelector
,由于文档已卸载,因此似乎无法调用它。
PS:我正在使用 Gecko 驱动程序