2014-01-16 23 views
0

如何点击使用CasperJS的超链接?

<div class="company-list-title"> … </div> 
<ul id="company-list1" class="company-list"> 
    <li class="company-list-item"> … </li> 
    <li class="company-list-item"> … </li> 
    <li class="company-list-item"> … </li> 
    <li class="company-list-item"> 
     <a class="company_link" href="javascript: applyswitch('1006084861', '1006084864')"> 

      E2E C2 Harmony US Plus_US_QBP-T39_1_201309161379373407264 (cluster 2: company 1006084861) 

     </a> 

如何点击超链接文本 “E2E C2和谐美Plus_US_QBP-T39_1_201309161379373407264(第2组:公司1006084861)” 使用CasperJS?

下面的代码无法正常工作:

casper.then(function() { 
this.test.assertExists({ 
      type: 'xpath', 
      path: '//ul[@class="company-list"]' 
    }, "Got Here 1"); 
    this.test.assertExists({ 
      type: 'xpath', 
      path: '//ul[@class="company-list"]//a[text()="E2E C2 Harmony US Plus_US_QBP- T39_1_201309161379373407264 (cluster 2: company 1006084861)"]' 
    }, "Got Here 2"); 
    this.click(('//ul[@class="company-list"]//a[text()="E2E C2 Harmony US Plus_US_QBP- T39_1_201309161379373407264 (cluster 2: company 1006084861)"]'), function() { 
    console.log("Woop!"); 
}); 
}); 
+0

你应该只使用XPath,这是最失败的证明方法。 capser.click(X( 'yourxpath')); –

+0

谢谢..点击使用XPath工作。 – user2325313

回答

1

你可以尝试使用clickLabel()

this.clickLabel('E2E C2 Harmony US Plus_US_QBP-T39_1_201309161379373407264 (cluster 2: company 1006084861)', 'a');