2016-11-28 120 views
0

有一個我想單擊的下拉列表,它有四個選項展開。使用我的代碼,我可以點擊並展開此下拉列表,但無法點擊選項(值='100')。位於下拉列表中的元素,但無法點擊它

這是我想點擊的元素的HTML代碼展開前的下拉列表:

HTML code before dropdown list is expanded

這是我想點擊的元素的HTML代碼的下拉列表展開後:

enter image description here

下面是我的代碼:

//@FunctionName : Display100ResultsPerPage 
//@Description : A function that chooses to display 100 results per page instead of 10 
//@Parameters : PageObj: page that displays items 
//@Returns  : None 
//@Version  : v1.0 
function Display100ResultsPerPage (PageObj) 
{ 
    var localPageObj = PageObj; 
    var display100ItemsPerPageOptionCssSelector = "div[class='per-page-section'] select option[value='100']"; 
    var displayNItemsPerPageDropdownListCssSelector = "div[class='per-page-section'] select"; 

    localPageObj.QuerySelector(displayNItemsPerPageDropdownListCssSelector).Click(); 
    aqUtils.Delay(500); 
    localPageObj.QuerySelector(display100ItemsPerPageOptionCssSelector).Click(); 
} 

我的代碼設法:

  • 點擊和擴展的下拉列表中,但無法點擊(100)選項。

如果我添加在我的代碼的附加行:

Log.Message(localPageObj.QuerySelector(display100ItemsPerPageOptionCssSelector).getAttribute('value')); 

我得到了一個日誌消息說「100」,這意味着我的代碼能夠成功找到該(100)的選擇,但我爲什麼不能點擊它?

非常感謝

我曾嘗試以下方法:

localPageObj.contentDocument.Script.jQuery("div[class='per-page-section'] select").find("option").css("z-index","999", "position", "relative"); 

選項元素已經變爲: enter image description here

通過索引,我試圖點擊最後一個option (value = '100'),但仍不工作。

+1

嘗試把警報點擊選擇元素也請檢查是否調用Delay()導致任何問題 – ScanQR

+1

可以是一個CSS問題?嘗試在'select'元素的'option'上設置'z-index:999; position:relative' –

+0

@TechBreak,不,它不是Delay()。感謝您的建議。 –

回答

0

通過右鍵單擊它來檢查元素,如果檢查器將您帶到不同的元素我認爲您需要給下拉列表一個「z-index」並記住z-index只在您指定相對於相對位置時才起作用或絕對的。這應該解決問題,我相信。

+0

謝謝你的回答,但是我不可能檢查這個「100」選項元素。只要我點擊「檢查元素」選項或使用Ctrl + Shift + C組合鍵進入檢查模式,此下拉列表將摺疊。 –