Вот блок кода, о котором идет речь:
var webdriver = require('selenium-webdriver')
var chrome = require('chromedriver')
const driver = new webdriver.Builder()
.forBrowser('chrome')
.build()
driver.get("http://thewebsite.com").then(x => {
driver.findElement(webdriver.By.css("[title^='ANI:']")).then(selObject => {
console.log(selObject)
selObject.getAttribute("title").then(x => console.log(x))
})
})
А вот источник страницы, который я пытаюсь извлечь:
<tbody id="CONFGROUP_0">
<!-- dynamic content here -->
<tr id="35534" style="background-color: rgb(228, 225, 229);">
<td nowrap="" valign="middle" height="30" width="210" title="ANI: 7076 DNIS: 7791" style="font-size: 0.8em;"><div style="overflow: hidden; display: inline; float: left; padding-top: 3px; width: 210px;"><div style="display: inline; padding-top: 4px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; width: 100%;">SOC OPS ALERT</div><input type="text" maxlength="50" style="display: none;"></div><div style="display: none; float: right; padding-right: 10px; height: 30px;"><img src="images/talkshow/03_buttonlower_on.gif" style="margin-top: 6px;"></div></td>
</tr>
<tr id="35533" style="background-color: rgb(255, 255, 255);">
<td nowrap="" valign="middle" height="30" width="210" title="ANI: 8017057799 DNIS: 7076" style="font-size: 0.8em;"><div style="overflow: hidden; display: inline; float: left; padding-top: 3px; width: 210px;"><div style="display: inline; padding-top: 4px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; width: 100%;">8017057799</div><input type="text" maxlength="50" style="display: none;"></div><div style="display: none; float: right; padding-right: 10px; height: 30px;"><img src="images/talkshow/03_buttonlower_on.gif" style="margin-top: 6px;"></div></td>
</tr>
</tbody>
Когда я запускаю document.querySelectorAll("[title^='ANI:")
в консоли Chrome, он возвращает оба необходимых мне элемента.Однако, когда я запускаю findElement
, найденный в блоке кода выше, он возвращает только один объект.Если я запусту driver.executeScript("document.querySelectorAll(\"[title^='ANI:\")")
, это вернет null
.
Я бы ожидал, что findElement
вернет все, что он нашел, и из моего осмотра будет похоже, что он должен это сделать.Я даже добавил тайм-аут, чтобы убедиться, что страница полностью загружена перед поиском, и все равно ничего.
Любая помощь будет очень признательна.