0
如果我調用findEventWithStatus(「Comment」,「Completed」)而不是返回單個事件,它將返回由getEvents()方法生成的整個事件列表。這是爲什麼?適用的代碼如下。事件對象的方法返回不正確的值
定義: -
class Event {
String description
String date
String status
WebElement editEvent
WebElement deleteEvent
}
使用硒獲取來自HTML表格的事件: -
def getEvents() {
def eventSize = driver.findElements(By.xpath('//div[@id[contains(.,"eventsReviewTable")]]/table/tbody/tr')).size()
def eventList = new ArrayList()
def event = new Event()
def x
for (y in 0..eventSize-1) {
x = (y+1).toString()
event.date = driver.findElement(By.xpath("//div[@id[contains(.,'eventsReviewTable')]]/table/tbody/tr["+ x + "]/td[1]/div/span")).getText()
event.description = driver.findElement(By.xpath("//div[@id[contains(.,'eventsReviewTable')]]/table/tbody/tr["+ x + "]/td[2]/div/span")).getText()
event.status = driver.findElement(By.xpath("//div[@id[contains(.,'eventsReviewTable')]]/table/tbody/tr["+ x + "]/td[4]/div/span")).getText()
event.editEvent = driver.findElement(By.xpath("//div[@id[contains(.,'eventsReviewTable')]]/table/tbody/tr["+ x + "]/td[6]/div/a[@id[contains(.,'editEventLink')]]"))
event.deleteEvent = driver.findElement(By.xpath("//div[@id[contains(.,'eventsReviewTable')]]/table/tbody/tr["+ x + "]/td[6]/div/a[@id[contains(.,'deleteEventLink')]]"))
eventList.add(event)
event = new Event()
}
return eventList
}
找到一個事件與特定的狀態和說明: -
def findEventWithStatus(String desc, String status) {
def events = getEvents()
events.each() {
if(it.description == desc && it.status == status) {
return it
}
}
}
工作就像一個夢。謝謝。 –