![](/img/trans.png)
[英]javascript query selector won't toggle css setting on button click
[英]CSS Selector Path - TestComplete Javascript Can't Click the Button
我有這段HTML代碼
我正在使用Testcomplete(Javascript)定位按鈕並嘗試單擊它。 我認為這更多是關於我的CSS路徑/ Javascript,而不是TestComplete本身。
我嘗試了這段代碼,它工作正常
var path2 = "#Table > div > table > tfoot > tr > th:last-child > span > div";
var z = Page.QuerySelector(path2);
z.Click(); // Works Fine
我也嘗試過這個並且效果很好
var path2 = "#Table > div > table > tfoot > tr > th:nth-child(7) > span > div";
var z = Page.QuerySelector(path2);
z.Click(); //Works Fine
但是當我嘗試這個時,它不會找到並單擊按鈕
var path2 = "#Table > div > table > tfoot > tr"; // path to parent table
var z = Page.QuerySelector(path2);
var y = z.QuerySelector('div.blue'); // Look for the child from that parent with tag div and class blue
Log.message(y.getAttribute("class")); // Will return "button blue w-icon footer-add"
y.Click(); // Will return Javascript Runtime Error. y.Click is not a function
我不知道為什么如果我先找到父節點然后搜索它的子節點,Javascript將無法找到它並單擊它?
QuerySelector方法(頁面對象) TestComplete幫助主題中的以下文本可以解釋這種現象的原因。
結果值
如果TestComplete Web對象與指定的選擇器匹配,則該方法返回此對象。
如果沒有匹配的TestComplete測試對象,則該方法返回適當的HTML對象。
在您的情況下,第一個找到的對象( var z = Page.QuerySelector(path2);
)沒有相應的TestComplete對象,因此將返回本機HTML對象。 當查詢第二個對象( var y = z.QuerySelector('div.blue');
)時,實際上是調用本機QuerySelector
方法,而不是調用可以返回TestComplete對象的TestComplete方法。 因此,即使存在相應的TestComplete對象,您也將通過第二次查詢獲得本機對象。 Click
方法將附加到TestComplete對象,並且在使用本機HTML對象時不能使用它。
因此,在您的情況下,將長途分成兩部分的唯一選擇似乎是:
var path2 = "#Table > div > table";
var z = Page.QuerySelector(path2);
var y = z.QuerySelector('tfoot > tr > th:last-child > span > div.blue');
Log.message(y.getAttribute("class"));
y.Click();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.