使用Selenium和Chrome驱动程序下载文件后,如何获取文件名称?
本网站避免了这个问题,但给出了简单案例的示例:http://ardesco.lazerycode.com/index.php/2012/07/how-to-download-files-with-selenium-and-why-you-shouldnt/
我的链接是一个JavaScript链接,弹出一个新窗口并自动下载文件,文件名在服务器上动态生成。
本网站建议更改下载位置,但对于火狐:http://elementalselenium.com/tips/2-download-a-file
这列出了所有命令行选项,但没有用于设置下载筛选器的选项:http://www.ericdlarson.com/misc/chrome_command_line_flags.html
这个问题建议您可以更改目录,但答案是Java,它不适用于PHP:Chrome Web驱动程序下载文件
我尝试了以下方法,但它给出了一个错误:
$options = new ChromeOptions();
$options->setExperimentalOption('download.default_directory', '\\temp');
$capabilities = DesiredCapabilities::chrome(); // htmlUnitJS()
$capabilities->setCapability(ChromeOptions::CAPABILITY, $options);
$driver = RemoteWebDriver::create($host, $capabilities, 5000);
PHP致命错误:未捕获异常“UnknownServerException”,消息为“未知错误:无法分析功能:未知错误的chromeOptions:无法识别的chrome选项:下载”。默认目录
可能相关:https://groups.google.com/forum/#!topic/macenterprise/cmSKIyzjQA8https://github.com/facebook/php-webdriver/wiki/ChromeOptions
我把它改成了这个,它起作用了。它不喜欢\temp
路径,它需要一个关联数组。
$options = new ChromeOptions();
$prefs = array('download.default_directory' => 'c:/temp/');
$options->setExperimentalOption('prefs', $prefs);
$capabilities = DesiredCapabilities::chrome(); // htmlUnitJS()
$capabilities->setCapability(ChromeOptions::CAPABILITY, $options);
$driver = RemoteWebDriver::create($host, $capabilities, 5000);
问题内容: 我试图单击此页面上的元素: 在这一点上,我想单击“现金流量”,“资产负债表”或“季度”。我知道这些按钮已加载,因为我可以使用BeautifulSoup从页面源中提取它们。但是,当我尝试使用Selenium时: 全部返回“无法定位元素”,除了“季度”返回一个元素,但它位于图上方的一个元素而不是我感兴趣的表格上方的一个元素。 我认为这是由于位于错误的iframe中,而我找到了所有ifram
问题内容: 我正在尝试使用Chrome浏览器使用Webdriver编写测试,我想下载一些文件,当我单击下载链接时,该文件会自动下载到下载文件夹中。我想知道是否可以通过某种方式找出下载文件夹的当前路径(Win / Linux),Chrome是否保留一些配置文件来对其进行设置? 坦斯 问题答案: Google chrome正在为这样的自定义配置维护一个配置文件,即 JSON* 格式的名为 Prefer
根据Selenium WebDriver文档,我们可以将名称或句柄传递给driver.switchTo().window(nameOrHandle);为了获取句柄,我们有getWindowHandle。如何根据窗口名称打开新窗口?如何获取当前窗口名称? / ***将此驱动程序未来命令的焦点切换到具有给定名称/句柄的窗口。* *有关详细信息,请参阅W3C WebDriver规范*。**@param
我有20个页面,每个页面有2个测试用例,每个测试用例下载一些文件。我想在运行时为每个测试用例更改下载目录。 这里是“TestBaseClass”代码,它下载一个特定文件夹中的所有文件,我必须将它们按类别分开,并将它们放入一个特定文件夹。有20个文件夹,每个文件夹有2个子文件夹'ChapterLevel'和'PracticeLevel',我必须手动放置它。 是否可以通过在运行时传递变量来更改下载目录
嗨,我对硒很陌生。所以请原谅我的技术错误。我有一个适合IE的项目,但我也需要使用firefox进行测试。在IE中执行时,项目是否需要指向驱动程序(如IEDriver)的指针?
问题内容: 我正在设置Atlassian Confluence,在选择“使用外部Mysql DB”时遇到的问题时,我遇到了一些教程,但是对我而言,它并没有解决应有的工作方式。我使用ubuntu 12.04 Server并安装了mysql。现在,我尝试与外部数据库进行融合,并且需要此连接器驱动程序来使其正常工作。 我已经做了 : 而且我已经安装了Java。 任何帮助都会被迅速支持:) 问题答案: 你