0

0

注入的下拉值

王林

王林

发布时间:2024-07-09 19:58:16

|

281人浏览过

|

来源于dev.to

转载

注入的下拉值

公开学习是伟大的,当你有一个团队愿意帮助你做一些看似简单的事情,但你却因为错误的事情而陷入过度思考时,它确实可以帮助你打出你的想法、行动和计划内容确实让你沮丧。在这种情况下,获取我可以在调试器中看到的值就是问题所在

自动化需要检查页面元素 - 并且下拉选择器会触发潜在的不同元素。另外,根据登录的用户,该下拉列表中可能有不同的选项。然后,我可以在下拉列表中获取用户可用的选项,获取它们的值,循环浏览它们,并验证页面上的每组元素。

我的测试帐户下拉菜单中有四个选项,因此我预算了几个小时来完成每个步骤。获得合同有点简单:下拉列表是一个选择元素,因此带有选项的 QuerySelectorAllAsync() 作为我想要获取的项目只是有点令人沮丧。我认为这是我第一次使用 IElementHandles,但如果它们都这么简单,那我就很好了!我已经为之前的测试硬编码了一个特定选项,因此我知道我需要的信息。为了确保这一点,我检查了硬编码信息 - 是的,这有效!

嗯,我认为我很好 - 为了确保我拥有正确的信息(我们刚刚更新了证书,因此有一个更好的连接到环境的选项)我在测试帐户的下拉列表中添加了额外的项目。作为 C Sharp 的新手,我不知道更改会产生什么影响,但想确保我返回的信息是正确的!事实证明,其中一项更改更新了我正在使用的 SqlConnectionString:我从错误的环境中拉取!一位开发人员花时间查看我的代码,并验证它是否正确。我们继续寻找,他们检查了连接字符串。事实证明这就是问题所在,值得庆幸的是,这是一个简单的更正,我无需寻求帮助即可完成。我确实问过,然后在等待会议开始时弄清楚了。

淡入淡出的多级下拉动画菜单
淡入淡出的多级下拉动画菜单

菜单在弹出下拉菜单项时,菜单项将会以淡入的动画方式显示

下载

第 1 步已完成:我可以访问正确的数据。获取用户信息对我来说是一个更熟悉的过程。这是“将电子邮件与用户 ID 匹配”调用并将其分配给变量。我正在逐步进行这些测试,并且这将被多次使用。我决定让代码更简洁一些。将有多种方法来访问特定于用户的信息,因此它们将被隐藏在自己的类中。它将使未来的代码阅读变得更容易,并且更有组织性。

我现在知道我的用户 ID 以及可用的下拉选项。现在是时候做一个我希望会很简单的事情了:循环浏览选项。我知道 foreach 循环目前是一个不错的选择。从长远来看,这可能不是正确的选择,但我以“让它发挥作用,然后让它变得漂亮”的态度来对待这个问题。然后系统就向我抱怨了。它想知道如果选择器为空会发生什么。而且这是一件合理的事情,但我却想完成任务!因此,我们开始讨论“如何进行空检查”。事实证明,这是一个简单的单行更新,它将使用数据并使用硬编码值,如果碰巧没有数据(并且要发送紧急日志消息!),则该值是默认选项。

一些研究,似乎 EvaluateAsync(value => value.textContent 应该给我需要的信息!但它没有。使用调试器运行它(以及下一行的断点)表明它给了我下拉列表中显示的文本,但不是值,显示它正在执行我要求的操作,现在我可以在调试器中看到该值!预览 – 现在如何获得它?

对 JSHandle@ 的一些研究向我展示了另一个我需要重点关注的技能提升领域。以及其他一些尝试来获取正确的信息。这 45 分钟很慷慨:是时候再次寻求帮助了。另一位开发人员有一些时间,我看到了打字指示器。差不多到了我担心的地步了。

看起来 lambda 是用来输入更复杂的函数——这是团队中的一个人不熟悉的。但是,正如我怀疑的那样,我使用了错误的值类型来获得正确的答案。快速更改为 select => select.value 为我提供了所需的信息!

现在让本节的其余部分接受此信息。原始的硬编码语句具有该值,包括语句中的分号。使用它作为变量时,系统会抱怨分号。我将尝试使用正则表达式获取分号之前的值,然后输入该值。但首先,我认为需要再喝一杯咖啡。

我对自己的编码方式并不满意,咖啡帮了我的忙。我传递了两个 lambda,因此我将尝试将它们组合起来,看看是否可行。到目前为止,它看起来很有希望。它成功了!除了我的 foreach 循环,但这是另一个会话的问题。

相关专题

更多
js正则表达式
js正则表达式

php中文网为大家提供各种js正则表达式语法大全以及各种js正则表达式使用的方法,还有更多js正则表达式的相关文章、相关下载、相关课程,供大家免费下载体验。

508

2023.06.20

正则表达式不包含
正则表达式不包含

正则表达式,又称规则表达式,,是一种文本模式,包括普通字符和特殊字符,是计算机科学的一个概念。正则表达式使用单个字符串来描述、匹配一系列匹配某个句法规则的字符串,通常被用来检索、替换那些符合某个模式的文本。php中文网给大家带来了有关正则表达式的相关教程以及文章,希望对大家能有所帮助。

247

2023.07.05

java正则表达式语法
java正则表达式语法

java正则表达式语法是一种模式匹配工具,它非常有用,可以在处理文本和字符串时快速地查找、替换、验证和提取特定的模式和数据。本专题提供java正则表达式语法的相关文章、下载和专题,供大家免费下载体验。

727

2023.07.05

java正则表达式匹配字符串
java正则表达式匹配字符串

在Java中,我们可以使用正则表达式来匹配字符串。本专题为大家带来java正则表达式匹配字符串的相关内容,帮助大家解决问题。

209

2023.08.11

正则表达式空格
正则表达式空格

正则表达式空格可以用“s”来表示,它是一个特殊的元字符,用于匹配任意空白字符,包括空格、制表符、换行符等。本专题为大家提供正则表达式相关的文章、下载、课程内容,供大家免费下载体验。

343

2023.08.31

Python爬虫获取数据的方法
Python爬虫获取数据的方法

Python爬虫可以通过请求库发送HTTP请求、解析库解析HTML、正则表达式提取数据,或使用数据抓取框架来获取数据。更多关于Python爬虫相关知识。详情阅读本专题下面的文章。php中文网欢迎大家前来学习。

293

2023.11.13

正则表达式空格如何表示
正则表达式空格如何表示

正则表达式空格可以用“s”来表示,它是一个特殊的元字符,用于匹配任意空白字符,包括空格、制表符、换行符等。想了解更多正则表达式空格怎么表示的内容,可以访问下面的文章。

230

2023.11.17

正则表达式中如何匹配数字
正则表达式中如何匹配数字

正则表达式中可以通过匹配单个数字、匹配多个数字、匹配固定长度的数字、匹配整数和小数、匹配负数和匹配科学计数法表示的数字的方法匹配数字。更多关于正则表达式的相关知识详情请看本专题下面的文章。php中文网欢迎大家前来学习。

527

2023.12.06

php源码安装教程大全
php源码安装教程大全

本专题整合了php源码安装教程,阅读专题下面的文章了解更多详细内容。

177

2025.12.31

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Node.js 教程
Node.js 教程

共57课时 | 7.8万人学习

Bootstrap 5教程
Bootstrap 5教程

共46课时 | 2.7万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号