gpt4 book ai didi

selenium - 使用 Behat、Mink 和 PhantomJS 上传文件

转载 作者:行者123 更新时间:2023-12-03 06:22:55 25 4
gpt4 key购买 nike

我正在尝试使用 Behat 上传文件。因此我写了这个简单的 HTML 页面:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
<form method="post" enctype="multipart/form-data">
<input type="file" name="file" id="file" /><br />
<input type="submit" />
</form>
</body>
</html>

和一个简单的 Behat 功能:

Feature: test
Scenario: Some Test
Given I am on "/upload.php"
And I attach the file "/path/to/tile" to "file"

当执行I Attach the file ... to ...短语时,selenium 2驱动程序会生成一个curl请求并将其发送到PhantomJS:http://localhost: 4444/wd/hub/session/5b9a8630-ed8e-11e4-956f-956a9ce75127/element/:wdc:1430215640681/value 参数:{"value":["\/path\/to\/file"]}

除非中止请求,否则请求不会终止,并且 PhantomJS 不会以任何方式对请求使用react。

我已经在网上进行了搜索,发现有几个线程说它确实有效,也有几个线程说它不起作用,包括 github 上的一个问题 ( https://github.com/detro/ghostdriver/issues/282 ),该问题已关闭并重新打开多次。

版本:PhantomJS:2.0.0行为:3.0.15水貂:1.6.1Mink-Selenium2-驱动程序:1.2.0

有人知道这个问题的可行解决方案吗?

最佳答案

此行为是否由于无法上传 known bug 的文件而存在使用 PhantomJS v 2.0.0?

Basically, a change made in Qt 4.8 and incorporated subsequently in Qt 5.0 prevented clicking on file input elements that were not caused by user gestures.

讨论解决方案further in the issue thread .

要引用,您必须在
中注释一个 if 条件/src/qt/qtwebkit/Source/WebCore/html/FileInputType.cpp

//if (!ScriptController::processingUserGesture())
// return;

然后编译二进制文件。

关于selenium - 使用 Behat、Mink 和 PhantomJS 上传文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29916779/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com