2015-10-14 5 views
0

Таблицы динамически и клетка выглядитСелена, как найти ячейку в таблице по значению (питон)

<div class="tableRow"> 
    <input name="fileExt" type="hidden" value="complete"> 
    <div class="tableCell rbpCheckBox"> 
    <input data-index="0" name="SelectItem" type="checkbox" class="check" value="150909_ACTG_01_scyther_WD14R05C12.150910010134"> 
    <input name="SelectPFolderName" type="hidden" value="P_0_2015-09-10-010132_master_ac-analysis_v2.3.0"> 
    </div> 
    <div class="tableCell accordion-toggle cursor-pointer" data-toggle="collapse" data-target="#collaspseDiv_150909_ACTG_01_scyther_WD14R05C12_150910010134"> 
    <p class="ellipsis rbpName" title="150909_ACTG_01_scyther_WD14R05C12"> 
     150909_ACTG_01_scyther_WD14R05C12 
    </p> 
    <input type="hidden" name="formatted_run_name" id="150909_ACTG_01_scyther_WD14R05C12.150910010134" 
    value="150909_ACTG_01_scyther_WD14R05C12"> 
    </div> 
    <div class="tableCell"> 
    <span class="rbpStatus rbpStatusPadding" title="multichunk analysis pending at master"> 
     <img src=" done.png " title="Done" class="runStatusImgTag"> 
    </span> 
    </div> 
    <div class="tableCell"> 
    <p class="rbpStatus"> 
     scyther 
    </p> 
    </div> 
    <div class="tableCell"> 
    <p class="rbpStatus"> 
     2015-09-10 01:01:35 
    </p> 
    </div> 
</div> 

Причина, почему я должен найти ячейку, значение, потому что я хотел бы использовать это как подтверждение того, что элемент присутствует на странице, и мы готовы к следующему шагу \ action в тестовом сценарии, поэтому мне нужно подождать, пока какой-либо элемент не будет отображаться на странице, и решил дождаться этой ячейки

<div class="tableCell"> 
    <p class="rbpStatus"> 
    scyther 
    </p> 
</div> 

Я пытаюсь использовать что-то вроде

WebDriverWait(driver, 10).until(EC.visibility_of_element_located((By.CSS_SELECTOR, "p.rbpStatus[contains('scyther')]"))) 
+0

Ваш HTML для сгенерированной таблицы выглядит недействительным в https://validator.w3.org. – SIslam

+0

Предоставленная часть html - всего лишь образец кода, фактическая таблица очень большая и не может использоваться в качестве примера, поэтому я удалил ненужную часть ... Я предполагаю, что часть, которую я удалил после обсуждаемой ячейки, - причина недействительной проверки , но это не должно быть проблемой, спасибо за уведомление. –

ответ

0

CSS селекторы не поддерживают contains функцию.

Ждать -

<div class="tableCell"> 
    <p class="rbpStatus"> 
    scyther 
    </p> 
</div> 

Попробуйте это:

WebDriverWait(driver, 10).until(EC.visibility_of_element_located((By.XPATH, "//p[contains(@class,'rbpStatus') and contains(text(),'scyther')]"))) 
+0

'WebDriverWait (driver, 10) .until (EC.visibility_of_element_located ((By.XPATH," // p [@ class = 'rbpStatus'] ")))' ** нашел некоторый элемент **, но 'WebDriverWait (драйвер , 10) .until (EC.visibility_of_element_located ((By.XPATH, "// p [@ class = 'rbpStatus' и содержит ('scyther')]"))) '** - это тайм-аут ** –

+0

Сколько стоит скорость вашего интернет-соединения? вы пробовали с другим значением ожидания не только 10? – SIslam

+0

Он по-прежнему показывает таймаут http://take.ms/1UJXW Спасибо за вашу помощь –

 Смежные вопросы

  • Нет связанных вопросов^_^