2015-10-15 4 views
-3

У меня есть промежуток, который является таймером, где время продолжается. Используя селен, я хочу захватить текущее значение таймера.Получение таймера с использованием селена

<div id="dealTimeRemaining" class="miniText marginTop green"> 
    <span id="cdf8882c_time_remaining"> 
    <span class="ticker">00</span>h 
    <span class="ticker">46</span>m 
    <span class="ticker">22</span>s 
    </span> 
</div> 

Но дело в том, пролеты с классом линеечку, продолжает меняться, так как получить значение, когда я запускаю мой селен проект.

Кроме того, идентификатор «cdf8882c_time_remaining» является динамическим, поэтому, пожалуйста, не используйте его. Отдых все в порядке.

+0

разместить URL, то, возможно, придется использовать Js исполнение! – SIslam

+0

Просьба показать, что вы пробовали до сих пор. Пожалуйста, не ожидайте, что сообщество сделает вашу работу – Sighil

+0

@SIslam Its http://www.amazon.com/b?node=11448061011, для сделок, я хочу, чтобы оставшееся время осталось – GitCoder

ответ

1

Просто получить span элемент, расположенный внутри div с id="dealTimeRemaining":

driver.findElement(By.cssSelector("div#dealTimeRemaining > span")).getText(); 
+0

Это не вернет его, потому что он был подан javascript. См. Ссылку, которую я предоставил в рамках блокбастеров. – GitCoder

+0

Ссылка http://www.amazon.com/b?node=11448061011, Если вы хотите попробовать – GitCoder

+0

Это вернет обновленное время, когда код будет запущен, если вы хотите следующее обновление затем снова бегите! – SIslam

0

У меня есть решение. U может получить источник страницы и передать его через синтаксические анализаторы html, такие как jsoup.

WebDriver driver = new FirefoxDriver(); 
driver.manage().window().maximize(); 
driver.get("http://www.amazon.com/b?node=11448061011"); 

String pageSource = driver.getPageSource(); 

// parse the page source through jsoup 
Document document = Jsoup.parse(pageSource); 

// get all the elements containing id dealTimeRemaining 
Elements dealTimeRemainingDivs = document.getElementsByAttributeValue("id", "dealTimeRemaining"); 

// iterate through all the deal time remaining divs 
for (Element dealTimeRemainingDiv : dealTimeRemainingDivs) { 
    String time = "Time"; 
    // find the ticker spans containing the time 
    Elements tickerSpans = dealTimeRemainingDiv.getElementsByClass("ticker"); 
    // iterate through all the ticker spans 
    for (Element tickerSpan : tickerSpans) { 
     time = time + ":" + tickerSpan.text(); 
    } 
    System.out.println(time); 
} 

Выход

Time:09:23:44 
Time:09:23:43 
Time:09:23:43 
Time:09:23:43 
Time:00:08:44 
Time:03:28:44 
Time:00:03:44 
Time:08:53:44 
Смежные вопросы