簡體   English   中英

使用從Selenium C#中的CheckBoxList中提取的標簽填充CheckedListBox

[英]Populating a CheckedListBox with extracted labels from a CheckBoxList in Selenium C#

我有一個使用Selenium進入頁面並為用戶自動執行任務的表單。 頁面上唯一更改的部分是CheckBoxList,並且我一直在嘗試從中提取標簽並將它們鏡像到表單的CheckedListBox,以便用戶可以在此處選擇而無需查看頁面。

到目前為止,我有這個:

        IList<IWebElement> vehicleGroups = Builder.Driver.FindElements(By.ClassName("vehGrp"));
        String[] vehicleText = new String[vehicleGroups.Count];
        int i = 0;
        foreach (IWebElement element in vehicleGroups)
        {
            vehicleText[i++] = element.Text;
            vehicleGroupList.Items.Add(element.Text);
        }

只要獲得正確數量的元素並填充表單,該方法就可以正常工作,但是vehicleText中的所有標簽都是空白(或只是一個空格)。

標簽之一的HTML的示例是

    <label><input type="checkbox" name="searchQuery.vehicleGroups[0].isSelected" value="on" class="vehGrp">&nbsp;abcd/efgh ijkl mn (opqrst)</label>

我錯過了什么嗎?還是“”弄亂了標簽文本? 我需要的是“ abcd / efgh ijkl mn(opqrst)”,但是它和元素的潛在數量可以每天更改。

vehicleGroups<input>元素,而不是包圍它們的<label> ,並且它們沒有文本。 這是預期的行為。

您需要使用以下方法獲取周圍的<label>元素: https : //stackoverflow.com/a/12194481/7866667

var vehicleGroupInputElements = driver.FindElements(By.ClassName("vehGrp"));
var vehicleGroupNames = vehicleGroupInputElements
    .Select(e => e.FindElement(By.XPath("..")))
    .Select(e => e.Text)
    .ToArray();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM