亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

XPath 選擇特定的下拉值

XPath 選擇特定的下拉值

C#
神不在的星期二 2021-11-28 16:42:28
我想從下拉列表中選擇“VxDev:InterAction 測試自動化列表”。代碼如下<select name="intEmailListId" id="intEmailListId" style="min-width: 210px" data-selected-list="8589934864" class="list_selector">                <option value="">** Please select a list **</option>                <option value="">                    --                </option>                <option value="my-contacts">                    My contacts                </option>                <option value="">                    --                </option>                    <option value="8589934952">                        * 001 New List                        &nbsp;&nbsp;</option>                    <option value="8589934880">                        VxDev: Hard Bounce List (QA team only)                        &nbsp;&nbsp;</option>                    <option value="8589934864" selected="">                        VxDev: InterAction Test Automation List                        &nbsp;&nbsp;</option>我在 xpath 下面嘗試過,它曾經可以工作,但現在無法正常工作try                    {                        selectedList =                            BrowserFactory.Driver.FindElement(                                By.XPath(".//li[text()[contains(.,'" + listName + "')]]/input"));                    }                    catch (NoSuchElementException)                    {                        selectedList = BrowserFactory.Driver.FindElement(                        //By.XPath(".//option[text()[contains(.,'" + listName + "')]]"));                            By.XPath(".//option[starts-with(normalize-space(text()),'" + listName + "')]"));                    }請幫忙如何選擇具體的下拉值?提前致謝。
查看完整描述

2 回答

?
慕哥6287543

TA貢獻1831條經驗 獲得超10個贊

你可以試試這個

String selectedList = BrowserFactory.Driver.FindElement(By.XPath("//option[@value='8589934864']")).GetAttribute("value");

或者

String selectedList = BrowserFactory.Driver.FindElement(By.XPath("//option[@value='8589934864']")).GetAttribute("innerText");



查看完整回答
反對 回復 2021-11-28
?
大話西游666

TA貢獻1817條經驗 獲得超14個贊

在這里,問題在于您的語法。嘗試這個:


try{

    selectedList = BrowserFactory.Driver.FindElement(By.XPath("//li[contains(.,'" + listName + "')]/input"));

    By.XPath("//li[contains(.,'" + listName + "')]/input"));

    //By.XPath("//li[contains(text(),'" + listName + "')]/input")); // you can try this as well

   }catch (NoSuchElementException){

          selectedList = BrowserFactory.Driver.FindElement(

          //By.XPath("//option[contains(.,'" + listName + "')]"); // OR

          //By.XPath("//option[contains(text(),'" + listName + "')]");

          By.XPath("//option[starts-with(normalize-space(text())='" + listName + "')]")

        }


查看完整回答
反對 回復 2021-11-28
  • 2 回答
  • 0 關注
  • 526 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號