Tweeter 与自动化代码不同的 Twitter 组件中的 data-testid 是啥? [复制]

Posted

技术标签:

【中文标题】Tweeter 与自动化代码不同的 Twitter 组件中的 data-testid 是啥? [复制]【英文标题】:What is data-testid in twitter components for Tweeter Unlike Automation Code? [duplicate]Tweeter 与自动化代码不同的 Twitter 组件中的 data-testid 是什么? [复制] 【发布时间】:2021-03-03 00:51:53 【问题描述】:

我想与 Twitter 上所有喜欢的推文不同。因为 react 是使用高音扬声器开发的,所以我想用代码来做这件事。我在 Github 中找到了我们应该在开发者控制台上运行的心爱的代码。

setInterval(() => 
  for (const d of document.querySelectorAll('div[data-testid="unlike"]')) 
    d.click()
  
  window.scrollTo(0, document.body.scrollHeight)
, 1000)

所以这段代码将每 1000 毫秒运行一次,我将自行滚动。但是我想知道这里使用data-tested为什么他没有使用普通的class或id来选择tweet like按钮? data-testid 和 id 有什么区别?

这是与组件不同的推文图像

【问题讨论】:

它们只是两个不同的属性,<div id="hello" data-testid="world">...</div>ids 必须是唯一的页面才能有效,并且可以通过特定的选择器语法#hello 进行选择。测试 ID 可以重复并如图所示使用通用属性选择器语法进行选择。 【参考方案1】:

data-testId 属性应该用作测试代码的句柄。它是一个标记,表示“不要更改此类,因为测试依赖它”。

如果这不是上面的测试代码,那么它可能是草率的编程实践,即一个错误。在实际运行的代码imo中不应使用TestId。

【讨论】:

以上是关于Tweeter 与自动化代码不同的 Twitter 组件中的 data-testid 是啥? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

如何检查 Tweeter 用户是不是可以使用 tweepy 获取直接消息?

JavaScript 将tweeter添加到您的网站

您如何将无头 Chrome 与 Selenium 一起使用?

有人知道与 twitter bootstrap 兼容的组合框/自动建议控件吗?

Flutter Twitter Login 停止使用身份验证错误“抱歉,该页面不存在”(代码 34)

Twitter REST API 与 Twitter Fabric - Twitter 核心