當Webelement與webelement創建時的屬性相比較時,我們通常會得到過時的元素異常。
比方說,其目的是在一個表打印第二數據元素的每秒,我們的代碼看起來是這樣的,(對不起,給Java中的代碼)
//This will work if the page is static
WebElement element = driver.findElement(By.xpath("//td[2]"));
for(int i = 0; i< 10;i++)
{
System.out.println(element.getText());
Thread.sleep(1000);
}
爲了使這項工作動態加載表/刷新我們需要每個迭代這樣的事情之前啓動webelement表,
//This will work for dynamic content
WebElement element = null;
for(int i = 0; i< 10;i++)
{
element = driver.findElement(By.xpath("//td[2]"));
System.out.println(element.getText());
Thread.sleep(1000);
}
在這種情況下,如果你需要得到第i個單元格的值在一個表中,我們可以通過參數裏面的值xpath如
//In this case we need the fifth cell value
int j = 5;
WebElement element = null;
for(int i = 0; i< 10;i++)
{
element = driver.findElement(By.xpath("//td["+j+"]"));
System.out.println(element.getText());
Thread.sleep(1000);
}
In the case if you need to have all five cell values,
WebElement element = null;
for(int i = 1; i<=5;i++)
{
element = driver.findElement(By.xpath("//td["+i+]"));
System.out.println(element.getText());
Thread.sleep(1000);
}
只是相應地構造一個循環。
希望這有助於你。謝謝。
這樣做很有意義。如果不是單個元素,我需要第i行(我不知道數字i,但我知道行中的一個條件)?我如何循環執行每次需要更新的內容? – 7raiden7
更新了我的答案......如果您需要我幫助確定基於行上某個條件的特定...,我需要DOM。我們需要在XPATH中使用以下或之前的同胞來識別特定的單元格。 –
好吧,基本上我是檢索表格,然後循環行,而你說我應該直接檢索行。這就說得通了。我會嘗試 – 7raiden7