我有以下HTML结构:
<label for="corp_type_label" id="Type_label">
<div class="ms-crm-div-NotVisible">Type</div>
--
<div class="ms-crm-Inline-GradientMask"></div>
</label>
当我尝试通过Chrome驱动程序按照CSS选择器By.CssSelector("#Type_label")
获取标签文字时,我会按预期获得--
值。
但如果我使用相同的选择器并使用FirefoxDriver,它将返回Type\r\n--
。
FirefoxDriver:
WebDriverManager.Driver.FindElement(By.CssSelector("#Type_label")).Text;
"Type\r\n--"
ChromeDriver:
WebDriverManager.Driver.FindElement(By.CssSelector("#Type_label")).Text;
"--"
我使用ChromeDriver 2.33和GeckoDriver 0.18。
为什么同一个选择器会从同一个HTML中返回不同的值?
更新:说明已更新,以简化问题的定义。
答案 0 :(得分:1)
使用以下XPath我得到你的元素。你能检查下面的代码吗?
WebDriverManager.Driver.FindElement(By.xpath("//*[@id='Type_label']")).Text();