2017-07-14 165 views
0

任何人都可以幫助我,我怎麼點擊一個按鈕,這是一個div裏面?而在第一頁上,第二頁的按鈕可用於點擊,但使用我的代碼我無法實現它。我怎樣才能點擊一個鏈接在按鈕與硒

這裏是我的代碼:

> WebElement btn_Submit = 
> driver.findElement(By.cssSelector("a[class*='bodylink']")); 
>    
>    clickable=isClickable(btn_Submit); 
>    if(clickable){ 
>     btn_Submit.sendKeys(Keys.ENTER); 
> 
>    } 

下面是從頁的摘錄:

<div id="pagingBody"> 
<div style="margin-bottom:10px;font-weight:bold;" id="ex-gen3932">100 Total Results</div> 
[1 - 50] | 
<a id="ex-gen3926" class="bodylink" href="#" onclick="gosearch('PowRan',51); return false;">[51 - 100]</a> 
</div> 
+1

在我們的代碼,我們沒有看到像「bodylink」 –

回答

0

相反的:

WebElement btn_Submit = driver.findElement(By.xpath("//div[@id='pagingBody']//following::a[1])); 

WebElement btn_Submit = driver.findElement(By.cssSelector("a[href*='bodylink']")); 

與嘗試

如果需要誘導ExplicitWaitWebDriverWait使按鈕可點擊然後調用click()方法。

讓我知道如果這個回答你的問題。

+0

它沒有任何工作HREF鏈接。我不能放置id,因爲它是隨機生成的,所以我用class來測試ur代碼,但發生Exception:org.openqa.selenium.NoSuchElementException:no such element:Unable to locate element:{「method」:「xpath」, 「selector」:「a [@ class ='bodylink']」} –

+0

好的,你可以考慮按照實際格式來設置HTML DOM。我們可以創建'xpath' wrt'div id =「pagingBody」'並調用'click()'方法。謝謝 – DebanjanB

+0

請檢查更新的答案。 – DebanjanB

0

我假設你已經調試過,元素不爲空。

而不是做:

btn_Submit.sendKeys(Keys.ENTER); 

嘗試做:

btn_Submit.click(); 

這應該再養你onclick事件。

+0

它沒有工作,我假設原因是硒還不能找到這個按鈕點擊 –

+0

你承擔?調試並找出答案。 – MartinByers

+0

我相信它無法找到該按鈕 –

0

試試這個:

WebElement btn_Submit = 
driver.findElement(By.cssSelector("div > a.bodylink")); 
btn_Submit.click();  
相關問題