【问题标题】:Is it possible to display the text associated with a specific element?是否可以显示与特定元素关联的文本?
【发布时间】:2019-10-04 02:18:41
【问题描述】:

我一直在使用 selenium 和 C#,我想知道是否可以返回与特定元素关联的文本。

例如,这是包含我要显示的内容的 HTML 行:

<span class="field">1149156-1</span>

是否可以将“1149156-1”保存在字符串中以备后用?

我试过下面的代码,但是它返回一个奇怪的值,绝对不是我想要它返回的值:

string testvariable = driver.FindElement(By.XPath("/html/body/div/div[4]/div[2]/form/div[2]/div/table/tbody/tr[2]/td[1]")).ToString();

希望我提供了足够的信息!

【问题讨论】:

    标签: c# html selenium selenium-webdriver


    【解决方案1】:

    你可以使用webElement.Text

    string testvariable = driver.FindElement(By.XPath("/html/body/div/div[4]/div[2]/form/div[2]/div/table/tbody/tr[2]/td[1]")).Text;
    

    另一方面,我建议使用相对 XPath 语法而不是绝对语法,并查询 WebElement 属性(例如 idnameclass)以获得更准确的定位器。

    例如,您提供的示例中的 XPath 可以更健壮地重写为:

    //table[@id='someId']/tbody/tr[2]/td[1]
    

    【讨论】:

    • 像魅力一样工作!非常感谢!
    猜你喜欢
    • 2021-08-06
    • 2013-12-04
    • 1970-01-01
    • 2015-11-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-12
    • 2017-01-26
    相关资源
    最近更新 更多