如何在 PHP 中使用 Selenium 上传文件?预计只有 1 个文件。有:0
How do I upload a file in Selenium in PHP? Expected there to be only 1 file. There were: 0
根据我正在使用的库的文档,这应该有效,但事实并非如此。
https://github.com/facebook/php-webdriver/wiki/Upload-a-file
这是错误
Finding ctl00_WorkSpaceContent_sourceFile
PHP Fatal error: Uncaught exception 'UnknownServerException' with message 'Expected there to be only 1 file. There were: 0
这是代码
echo "Finding ctl00_WorkSpaceContent_sourceFile\n";
$input = $driver->findElement(WebDriverBy::id("ctl00_WorkSpaceContent_sourceFile"));
// set the file detector
$input->setFileDetector(new LocalFileDetector());
// upload the file and submit the form
$input->sendKeys($file);
echo "Finding Save & Return\n";
这是HTML
<input name="ctl00$WorkSpaceContent$sourceFile" type="file" id="ctl00_WorkSpaceContent_sourceFile" class="formrequired" size="62" onchange="javascript:this.className='formchanged';">
网络上没有针对该错误的结果,甚至 Google 也没有。 DuckDuckGo, Google
我看到了一些相关问题,但它们是关于发送文件以删除 Selenium 服务器。我的是本地的。
尽管库发出警告,我还是不得不将文件名作为数组发送。
$input->sendKeys(array($file));
PHP Warning: is_file() expects parameter 1 to be a valid path, array given in /cygdrive/c/Users/Chloe/workspace/Teads/php-webdriver/lib/remote/LocalFileDetector.php on line 23
我会更新 Wiki link。
根据我正在使用的库的文档,这应该有效,但事实并非如此。 https://github.com/facebook/php-webdriver/wiki/Upload-a-file
这是错误
Finding ctl00_WorkSpaceContent_sourceFile
PHP Fatal error: Uncaught exception 'UnknownServerException' with message 'Expected there to be only 1 file. There were: 0
这是代码
echo "Finding ctl00_WorkSpaceContent_sourceFile\n";
$input = $driver->findElement(WebDriverBy::id("ctl00_WorkSpaceContent_sourceFile"));
// set the file detector
$input->setFileDetector(new LocalFileDetector());
// upload the file and submit the form
$input->sendKeys($file);
echo "Finding Save & Return\n";
这是HTML
<input name="ctl00$WorkSpaceContent$sourceFile" type="file" id="ctl00_WorkSpaceContent_sourceFile" class="formrequired" size="62" onchange="javascript:this.className='formchanged';">
网络上没有针对该错误的结果,甚至 Google 也没有。 DuckDuckGo, Google
我看到了一些相关问题,但它们是关于发送文件以删除 Selenium 服务器。我的是本地的。
尽管库发出警告,我还是不得不将文件名作为数组发送。
$input->sendKeys(array($file));
PHP Warning: is_file() expects parameter 1 to be a valid path, array given in /cygdrive/c/Users/Chloe/workspace/Teads/php-webdriver/lib/remote/LocalFileDetector.php on line 23
我会更新 Wiki link。