gpt4 book ai didi

javascript - 如何使用 selenium javascript 单击推文的收藏夹按钮

转载 作者:行者123 更新时间:2023-11-28 06:38:42 26 4
gpt4 key购买 nike

我正在尝试使用 javascript selenium webdriver 收藏推文。我想做的是搜索关键字、转到实时选项卡、收藏最后 50 条推文并关注这些人。我最喜欢的推文部分代码失败了,我得到了

StaleElementReferenceError: Element not found in the cache - perhaps the page has changed since it was looked up

错误。这是我的代码,你能帮我看看如何点击收藏夹按钮吗?

var button = driver.findElement(By.className('HeartAnimation'));

function buttoninthearray(driver, i) {
var buttons = driver.findElements(By.className('HeartAnimation'));
return webdriver.promise.filter(buttons, function(button) {
return button.isDisplayed();
}).then(function(visiblebuttons) {
return visiblebuttons[i];
});
}
for( i = 0; i <limit; i++){
buttoninthearray(driver, i).then(function(button){
button.click();
});
driver.sleep(1000);
}

最佳答案

这是来自 selenium 文档中有关过时元素引用异常的片段:

在 Web 应用程序中模拟选项卡式 UI 的一种常用技术是为每个选项卡准备 DIV,但一次仅附加一个,将其余部分存储在变量中。在这种情况下,您的代码完全有可能引用不再附加到 DOM 的元素(即,其祖先为“document.documentElement”)。

这里是文档的链接: http://docs.seleniumhq.org/exceptions/stale_element_reference.jsp

由于您正在处理选项卡式 UI,因此这可能是问题所在。

就像该页面所说,“如果 WebDriver 在这种情况下抛出过时元素异常,即使该元素仍然存在,引用也会丢失。您应该丢弃当前持有的引用并替换它,可能通过再次定位该元素一旦它附加到 DOM。”

关于javascript - 如何使用 selenium javascript 单击推文的收藏夹按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34035034/

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