2017-01-11 45 views
0

我正在使用webdriver訪問網站,並且我想更改其中的一個元素。WebDriver獲取元素java

我想知道如何訪問元素並進行更改。在這種情況下,我想將文本添加到一個元素,即改變這個:

<span data-id="tag-dist-Lisboa" title="Para eliminar uma das opções, faça duplo clique."> 
</span> 

進入這個:

<span data-id="tag-dist-Lisboa" title="Para eliminar uma das opções, faça duplo clique."> 
    Some random text 
</span> 

我的主要問題已經找到的元素。

我在上面增加了一些HTML,如果您需要更多的信息請說明一下。

+0

你需要提供周圍的html,它不可能用你提供的東西來標識元素。 – Cathal

+0

html代碼提供 – user3636673

+0

使問題更容易讓其他人輕鬆理解您所困擾的內容。請考慮添加您收到的具體錯誤(如果有的話),因爲這可以幫助其他人識別問題。 – xlm

回答

0

正如我已經張貼一個答案您以前的question-

使用下面的代碼爲span標籤 -

int textLength = driver.findElement(By.xpath("//span[@data-id='tag-dist-Lisboa']")).getText().length(); 

if(textLength<=0) 
{ 

    WebElement element = driver.findElement(By.xpath("//span[@data-id='tag-dist-Lisboa']")); 
    JavascriptExecutor js= (JavascriptExecutor)driver; 
    js.executeScript("arguments[0].innerText = 'Your Text Here'", element); 
} 

說明設定值: -

找到您所需的span標籤與data-id屬性,並檢查它是否包含文本如果是,然後使用該文本值根據您的選擇。

如果沒有,那麼設置該span標籤

所要求的文本讓我們知道是不是按你的問題或其他一些你想做什麼?

+0

它返回一個錯誤'org.openqa.selenium.NoSuchElementException:無法找到使用// span [@ data-id ='tag-dist-Lisboa']的節點' 在網站中,如果我複製xpath在它的元素處,它會返回'// * [@ id =「searchform」]/div [2]/div/form/div [4]/div [1]/div [1]/span',同樣的錯誤。 – user3636673

+0

您可以添加更多的'html',您在span標籤 – NarendraR

+0

html之上添加了以上和以下 – user3636673