单击 href 加载空白页
Click href loads blank page
我正在尝试单击此 href 来下载文件,它确实可以正常工作,但单击也会触发页面加载。该页面为空白,然后在页面加载超时后,它中断了测试。
cy.get(the href).click();
有没有办法在不触发页面加载的情况下单击 href?
javascript 和 link 存在问题。通常:
<a href="#" onclick="f()">hit me</a>
单击 link 可以做两件事:用空锚点 (index.html#
) 加载当前页面(比如 index.html
), 和 执行 javascript,执行下载。
解决方案是告诉浏览器不要遵循 link。
function f() {
...
return false;
}
但如果函数运行时间较长,浏览器可能会预加载页面。
我不知道哪里出了问题,测试你的手被束缚了。
选择:
<a href="javascript:f()">hit me</a>
过去两年我没有做JavaScript,所以这些麻烦不要只听我的话。我希望其他人提出更有根据的答案和更好的解决方案。
我这样做是为了下载文件,它正在运行:
cy.get("a")
.should("have.attr", "href")
.then(href => {
cy.request(href).then(response => {
if (response && response.body) {
cy.writeFile("filePath", response.body);
}
});
});
我正在尝试单击此 href 来下载文件,它确实可以正常工作,但单击也会触发页面加载。该页面为空白,然后在页面加载超时后,它中断了测试。
cy.get(the href).click();
有没有办法在不触发页面加载的情况下单击 href?
javascript 和 link 存在问题。通常:
<a href="#" onclick="f()">hit me</a>
单击 link 可以做两件事:用空锚点 (index.html#
) 加载当前页面(比如 index.html
), 和 执行 javascript,执行下载。
解决方案是告诉浏览器不要遵循 link。
function f() {
...
return false;
}
但如果函数运行时间较长,浏览器可能会预加载页面。 我不知道哪里出了问题,测试你的手被束缚了。
选择:
<a href="javascript:f()">hit me</a>
过去两年我没有做JavaScript,所以这些麻烦不要只听我的话。我希望其他人提出更有根据的答案和更好的解决方案。
我这样做是为了下载文件,它正在运行:
cy.get("a")
.should("have.attr", "href")
.then(href => {
cy.request(href).then(response => {
if (response && response.body) {
cy.writeFile("filePath", response.body);
}
});
});