检查文本是否包含在字体标记中

时间:2016-06-23 15:06:08

标签: python html selenium selenium-webdriver selenium-ide

我在python中使用selenium来检查包含的字体标签之间是否有文本,如果是,则检查标签是否为。

html代码:

<table width="100%" border="0" cellspacing="1" cellpadding="1" bgcolor="#000000" height="80">
    <tbody>
        <tr bgcolor="#666699">
            <td height="17" bgcolor="#CCCC99">
                <font size="2"><b><font face="Arial, Helvetica, sans-serif">PARTY 1</font></b></font>
            </td>
        </tr>
        <tr>
            some html code...
        </tr>
    </tbody>
</table>

正如你所看到的,这是一个例子我需要检查html页面中是否包含PARTY 1,如果是这样的话,请回到tbody元素。 我应该说没有办法使用id获取元素,因为还有其他表以相同的方式编写。 我已经尝试使用//font [contains(。,'PARTY 1')],但因为它没有用

使用selenium的最佳方法是什么,检查PARTY 1是否在并且获得tbody elment?

2 个答案:

答案 0 :(得分:0)

此xpath返回TBODY标记,其中包含带有'PARTY 1'文本的FONT标记:

//tbody[.//font[contains(.,'PARTY 1')]]

答案 1 :(得分:0)

首先使用el = driver.find_element_by_xpath('insert xpath here')获取字体元素,然后使用el.text获取文本。您的代码应如下所示:

el = driver.find_element_by_xpath('insert xpath of font tag here')

if el.text == 'PARTY 1':
    return driver.find_element_by_xpath('insert xpath of tbody here')