Извлечение текстовых тегов br в селен JAVA - PullRequest
0 голосов
/ 04 мая 2018

Мне нужно получить тексты 'Техас-США' и 'Иллинойс-США', чтобы я мог щелкнуть гиперссылку, расположенную над текстом после совпадения строк. Я попробовал следующие способы, но не смог получить это. Может ли кто-нибудь помочь здесь

findElement(By.xpath("//html/body/font/nobr")).getAttribute("innerHTML")
findElement(By.xpath("//html/body/font/nobr")).getAttribute("textContent")
findElement(By.xpath("//html/body/font/nobr")).getText()
findElement(By.xpath("//html/body/font/nobr/text()[preceding-sibling::br]")).getText()
findElement(By.xpath("//html/body/font/nobr/a[1]")).getText()
findElement(By.xpath("//html/body/font/nobr/a[1][following-sibling::node()[1][self::BR]]")).getAttribute("innerHTML")

HTML ниже для справки

<nobr>
    <a target="framedetail" href="DetailServlet?com=s&amp;cname=Bank%20of%20America%2c%20National%20Association" onclick="s_objectID=&quot;https://www.example.com/item1 this.s_oc?this.s_oc(e):true">
        <img src="imgs/brcb.gif" width="8" height="8" alt="Commercial Bank" border="0">
        &nbsp;Bank of America, National Association
    </a>
    <br>
        &nbsp;&nbsp;&nbsp;Texas-United States
    <br>
    <a target="framedetail" href="DetailServlet?com=s&amp;cname=Bank%20of%20America%2c%20National%20Association" onclick="s_objectID=&quot;https://www.example.com/item2 this.s_oc?this.s_oc(e):true">
        <img src="imgs/brcb.gif" width="8" height="8" alt="Commercial Bank" border="0">
        &nbsp;Bank of America, National Association
    </a>
    <br>
        &nbsp;&nbsp;&nbsp;Illinois-United States
    <br>
</nobr>

Ответы [ 3 ]

0 голосов
/ 04 мая 2018

Если вы хотите перейти по предыдущей ссылке, вы можете использовать следующий код:

findElement(By.xpath("//text()[contains(., 'Texas-United States')]/preceding-sibling::a[1]")).click()

и

findElement(By.xpath("//text()[contains(., 'Illinois-United States')]/preceding-sibling::a[1]")).click()
0 голосов
/ 04 мая 2018

Для идентификации текста Техас-США и вызов click() по гиперссылке, размещенной над текстом, который вы можете использовать:

driver.findElement(By.xpath("//nobr//br[normalize-space()='Texas-United States']//preceding::a[1]")).click();

Для идентификации текста Иллинойс-США и вызов click() по гиперссылке, размещенной над текстом, который вы можете использовать:

driver.findElement(By.xpath("//nobr//br[normalize-space()='Illinois-United States']//preceding::a[1]"))click();
0 голосов
/ 04 мая 2018

Пожалуйста, попробуйте:

findElement(By.xpath("//html/body/font/nobr")).getAttribute("innerText")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...