gpt4 book ai didi

c# - 如何为元素设置值?

转载 作者:太空宇宙 更新时间:2023-11-03 13:48:57 25 4
gpt4 key购买 nike

我正在学习 Watin,我遇到了一段有趣的 html 代码:

<label class="age_label years_old" for="total_age">
<b>34</b>
<span class="placeholder">How old are you?</span>
<span class="years_old">years old</span>
<span class="years_young">years young</span>
</label>

我如何达到 34?,我完全迷失了,因为我习惯于按 Id 或 Class 选择输入。但这里不是输入。它只是一个 html 标签。

我想使用 watin 将 34 SET/*REPLACE* 34 替换为另一个数字,但是如何?

最佳答案

WatiN 没有像您所要求的那样的标签值 setter 。不过,它可以通过 javascript 轻松完成。将 JS 调用与 WatiN .GetJavascriptElementReference 相结合以获取 JS 元素使您尝试做的事情变得非常简单。 (我确定有一种纯 JS 方法可以做到这一点,但这些天我在 WatiN 方面比 JS 更好)希望很明显,找到第一个粗体标记是一种非常非常脆弱的方法,如果有更好的方法可以被用于元素位置。

而且,如果您使用此“setter”操作进行测试 - 这是一种难闻的气味,因为您正在更改用户无法执行的操作。

示例代码

var jsRef = myIE.ElementsWithTag("b")[0].GetJavascriptElementReference();
myIE.Eval(string.Format("{0}.innerHTML = 'fred'", jsRef));

以上使用 OP 的 HTML 进行测试,Watin 2.1、IE9、Win7-64 => 按预期工作。

关于c# - 如何为元素设置值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14311633/

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