c# - 如何在带有 C# 的角度网站上使用 selenium 验证文本是否为粗体
问题描述
我正在尝试在自由文本区域内验证文本是否为粗体。当我选择元素时,我无法验证文本部分。
我已经尝试根据重复链接建议使用 .getCSSValues ,但它不起作用,因为它没有获得该自由文本区域的“文本”,这是一个字符串。自由文本区域是一个元素。
IWebElement isBold = _driver.FindElement(By.TagName("p"));
isBold.GetCssValue("font-weight");
但无论文本是否为粗体,字体粗细都会返回“400”。
HTML是
<div class="fr-element fr-view" dir="auto" contenteditable="true" aria-disabled="false" spellcheck="true"><p style=""><strong>TEXT</strong></p></div>
我希望所选文本在粗体时为“700”。
解决方案
看来你很接近了。您需要考虑以下事实:
- 由于该元素是Angular元素,因此要定位该元素,您必须诱导WebDriverWait
ElementIsVisible()
- 接下来就可以使用
GetCssValue()
方法来提取font-weight 您可以使用以下任一定位器策略:
cssSelector
:new WebDriverWait(driver, TimeSpan.FromSeconds(20)).Until(ExpectedConditions.ElementIsVisible(By.CssSelector("div.fr-element.fr-view>p>strong"))).GetCssValue("font-weight");
xpath
:new WebDriverWait(driver, TimeSpan.FromSeconds(20)).Until(ExpectedConditions.ElementIsVisible(By.XPath("//div[@class='fr-element fr-view']/p/strong[text()='TEXT']"))).GetCssValue("font-weight");
推荐阅读
- laravel - URI 必须是字符串或 UriInterface
- javascript - 如何提取两个单词之间的句子并排除特殊字符
- django - 使用功能视图添加到购物车功能在 django rest 框架中不起作用
- c# - 如何在 .NET Core 中显示本地时区
- c++ - 即使指针的 cout 指向内存地址,也显示“取消引用 null ptr”的代码。_malloca 用于分配内存
- javascript - 角度验证出错
- r - 我需要在图表上找到置信区间我有一个对警察和种族有 2 列置信度的数据集
- javascript - 从表单外部重置 React Native Formik 表单
- excel - ExecuteExcel4Macro ,有没有办法通过索引而不是 Application.ExecuteExcel4Macro 中的名称来引用工作表
- c# - 从下拉列表 Select2 中的多个值中获取选定值