如何选择所有这些文本Selenium WebDriver C#

时间:2017-09-13 16:49:18

标签: c# selenium webdriver selenium-chromedriver

我想检索此框中的所有文字。 I'尝试阅读的部件号实际上是148474-1。但是,当我从中读取时,我只得到148474

HTML:

<div class="SE-Content-PartSearch-Grid-Row-PartNumber-Label" style="width: 10%;">
    <p>
        <span class="SE-PartSearchResult-selected">148474</span>-1
    </p>
</div>

代码:

// This is the one without an Alias
driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(4);
IList<IWebElement> partNumbers =
    driver.FindElements(By.ClassName("SE-PartSearchResult-selected"));
partNumberWithoutAlias = partNumbers[0].Text;

3 个答案:

答案 0 :(得分:1)

你已经有了第一部分,所以只需获取第二部分并连接它们。

string firstPart = partNumberWithoutAlias = partNumbers[0].Text;
string secondPart = driver.FindElements(By.ClassName("SE-Content-PartSearch-Grid-Row-PartNumber-Label"))[0].FindElements(By.TagName("p"))[0].Text;

string allText = firstPart + secondPart;

注意:你应该检查class- SE-Content-PartSearch-Grid-Row-PartNumber-Label是否被使用过一次或多次,具体取决于索引位置获取正确的那个。

答案 1 :(得分:0)

你不能这样做吗?

&#13;
&#13;
<div class="SE-Content-PartSearch-Grid-Row-PartNumber-Label" style="width: 10%;">
    <p>
        <span class="SE-PartSearchResult-selected">148474-1</span>
    </p>
</div>
&#13;
&#13;
&#13;

-1内设置<span>

答案 2 :(得分:0)

尝试以下代码 -

IList<IWebElement> partNumbers = driver.FindElements(By.ClassName("SE-Content-PartSearch-Grid-Row-PartNumber-Label"));
partNumberWithoutAlias = partNumbers[0].Text;