公开学习是伟大的,当你有一个团队愿意帮助你做一些看似简单的事情,但你却因为错误的事情而陷入过度思考时,它确实可以帮助你打出你的想法、行动和计划内容确实让你沮丧。在这种情况下,获取我可以在调试器中看到的值就是问题所在
自动化需要检查页面元素 – 并且下拉选择器会触发潜在的不同元素。另外,根据登录的用户,该下拉列表中可能有不同的选项。然后,我可以在下拉列表中获取用户可用的选项,获取它们的值,循环浏览它们,并验证页面上的每组元素。
我的测试帐户下拉菜单中有四个选项,因此我预算了几个小时来完成每个步骤。获得合同有点简单:下拉列表是一个选择元素,因此带有选项的 QuerySelectorAllAsync() 作为我想要获取的项目只是有点令人沮丧。我认为这是我第一次使用 IElementHandles,但如果它们都这么简单,那我就很好了!我已经为之前的测试硬编码了一个特定选项,因此我知道我需要的信息。为了确保这一点,我检查了硬编码信息 – 是的,这有效!
嗯,我认为我很好 – 为了确保我拥有正确的信息(我们刚刚更新了证书,因此有一个更好的连接到环境的选项)我在测试帐户的下拉列表中添加了额外的项目。作为 C Sharp 的新手,我不知道更改会产生什么影响,但想确保我返回的信息是正确的!事实证明,其中一项更改更新了我正在使用的 SqlConnectionString:我从错误的环境中拉取!一位开发人员花时间查看我的代码,并验证它是否正确。我们继续寻找,他们检查了连接字符串。事实证明这就是问题所在,值得庆幸的是,这是一个简单的更正,我无需寻求帮助即可完成。我确实问过,然后在等待会议开始时弄清楚了。
第 1 步已完成:我可以访问正确的数据。获取用户信息对我来说是一个更熟悉的过程。这是“将电子邮件与用户 ID 匹配”调用并将其分配给变量。我正在逐步进行这些测试,并且这将被多次使用。我决定让代码更简洁一些。将有多种方法来访问特定于用户的信息,因此它们将被隐藏在自己的类中。它将使未来的代码阅读变得更容易,并且更有组织性。
我现在知道我的用户 ID 以及可用的下拉选项。现在是时候做一个我希望会很简单的事情了:循环浏览选项。我知道 foreach 循环目前是一个不错的选择。从长远来看,这可能不是正确的选择,但我以“让它发挥作用,然后让它变得漂亮”的态度来对待这个问题。然后系统就向我抱怨了。它想知道如果选择器为空会发生什么。而且这是一件合理的事情,但我却想完成任务!因此,我们开始讨论“如何进行空检查”。事实证明,这是一个简单的单行更新,它将使用数据并使用硬编码值,如果碰巧没有数据(并且要发送紧急日志消息!),则该值是默认选项。
一些研究,似乎 EvaluateAsync(value => value.textContent 应该给我需要的信息!但它没有。使用调试器运行它(以及下一行的断点)表明它给了我下拉列表中显示的文本,但不是值,显示它正在执行我要求的操作,现在我可以在调试器中看到该值!预览 – 现在如何获得它?
对 JSHandle@ 的一些研究向我展示了另一个我需要重点关注的技能提升领域。以及其他一些尝试来获取正确的信息。这 45 分钟很慷慨:是时候再次寻求帮助了。另一位开发人员有一些时间,我看到了打字指示器。差不多到了我担心的地步了。
看起来 lambda 是用来输入更复杂的函数——这是团队中的一个人不熟悉的。但是,正如我怀疑的那样,我使用了错误的值类型来获得正确的答案。快速更改为 select => select.value 为我提供了所需的信息!
现在让本节的其余部分接受此信息。原始的硬编码语句具有该值,包括语句中的分号。使用它作为变量时,系统会抱怨分号。我将尝试使用正则表达式获取分号之前的值,然后输入该值。但首先,我认为需要再喝一杯咖啡。
我对自己的编码方式并不满意,咖啡帮了我的忙。我传递了两个 lambda,因此我将尝试将它们组合起来,看看是否可行。到目前为止,它看起来很有希望。它成功了!除了我的 foreach 循环,但这是另一个会话的问题。
以上就是注入的下拉值的详细内容,更多请关注【创想鸟】其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。
发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2557576.html