当前位置: 首页 > 知识库问答 >
问题:

C#Selenium函数获取用户输入并单击包含“ ”的xpath文本?

易琛
2023-03-14

我正在编写一个函数,它应该接受一个字符串,并单击包含匹配该字符串的文本的html元素。

但是在某些情况下,元素的文本包含特殊字符 ,我的函数无法找到元素。

        public static void ClickOnItem(string itemName)
        {
            IWebElement target = BrowserUtility.FindElement(By.XPath(String.Format("//div[translate(.,'\u00A0','')='{0}']",itemName)));
            TestUtility.ClickElement(target);
        }
<div>Foo&nbsp;Doo&nbsp;Item</div>

共有1个答案

金英华
2023-03-14

您将需要用不间断的空格替换空格。您可以在Windows上使用alt+0160键入不间断空格。警告,在代码编辑器中,这可能看起来与常规空间完全相同,因此代码的可维护性将下降。

string input = "some user input";
string adjustedInput = input.Replace(" ", " "); // replace space with nb-space
IWebElement target = BrowserUtility.FindElement(By.XPath($"//*[text()='{adjustedInput}']"));
            TestUtility.ClickElement(target);
 类似资料:
  • 我一直在为selenium Xpath定位器使用Contains函数。到目前为止,这个功能一直有效。它目前不适用于表中的TD元素。我正在向函数发送正确的文本,所以我不明白为什么。 在Chrome上,转到此处:https://rcpsc.releasecandidate-community360qa.net/login.aspx?action=enablelogin 登录:mj4/test 向下滚动

  • 问题内容: 在输入框selenium中,我们可以输入如下值: 但是在1个网页上,我点击了要获得selenium的一个div后有一个按钮,我得到了那个div的xpath 使用xpath,我正在获得div,但是如何使用xpath在其中输入文本? 手动添加文本后的HTML: 我必须在其中输入文本的div是: 问题答案: 您可以使用JavaScript更新DIV文本 在JavaScript中使用XPATH

  • 我必须在其中输入文本的div是:

  • 主要内容:关于 Python 2.xinput() 是 Python 的内置函数,用于从控制台读取用户输入的内容。input() 函数总是以字符串的形式来处理用户输入的内容,所以用户输入的内容可以包含任何字符。 input() 函数的用法为: str = input(tipmsg) 说明: str 表示一个字符串类型的变量,input 会将读取到的字符串放入 str 中。 tipmsg 表示提示信息,它会显示在控制台上,告诉用户应该

  • 我正在尝试根据其文本内容选择一个元素。我正在使用XPath来实现这一点。 我只是感到困惑,这应该有效吗? 我甚至会复制HTML代码: div元素内部有“通知”字样。那么为什么它不起作用。 转到Facebook上的此页面:https://www.facebook.com/settings 使用此chrome扩展通过xPath突出显示任何区域。

  • 在顶级“foo”的范围内找到具有类“bar”的div,其祖先没有类“foo”。例如,