python - 具有前同级的多个值

标签 python selenium selenium-webdriver xpath webdriver

我可以使用前同级函数获取多个值吗

preceding-sibling::td="半场角球"和 "角球"

HTML 代码

<tr>
    <td width="295" align="right" class="bg2">
        <div class="barBg2">
            <div class="info" style="width:82%;"> 
            </div>
        </div>
    </td>
    <td width="50" align="center" class="bg2">14</td>
    <td width="110" align="center" class="bg4">角球</td>
    <td width="50" align="center" class="bg2">3</td>
    <td width="295" align="left" class="bg2">
        <div class="barBg">
            <div class="info" style="width:18%;"></div>
        </div></td>
</tr>


<tr>
    <td width="295" align="right" class="bg1">
        <div class="barBg2">
            <div class="info" style="width:79%;"></div>
        </div>
    </td>
    <td width="50" align="center" class="bg1">11</td>
    <td width="110" align="center" class="bg3">半場角球</td>
    <td width="50" align="center" class="bg1">3</td>
    <td width="295" align="left" class="bg1">
        <div class="barBg">
            <div class="info" style="width:21%;"></div>
        </div>
    </td>

Python代码

texts = [td.text for td in driver.find_elements_by_xpath('//td[(preceding-sibling::td="半場角球" and "角球") and not(div)]')]

预期输出

3 3 

最佳答案

试试这个

//td[(preceding-sibling::td="半場角球" or preceding-sibling::td="角球") and not(div)]

关于python - 具有前同级的多个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51836487/

相关文章:

python - 文件使用完毕后如何删除?

python - h5py文件和pickle文件保存模型的区别

python - 在将数据传递给 Django 中的模板之前对数据进行修饰

selenium - WebDriver - 向浏览器发送 key 在 Firefox 中不起作用?

select - selenium webdriver如何从列表菜单项中选择

python - 如何使用 Selenium 选择属性为 "checked"且值为 "checked"的复选框?

java - 如何使用带有java的selenium web驱动程序从下拉菜单中选择一个元素?

java - 如何刷新 Selenium Java Webdriver 中的挂起页面?

python - Django ORM : Equivalent of SQL `NOT IN` ? `exclude`和 `Q`对象不起作用

Java - 如何使用 JavaScriptExecutor 调用字符串内的变量?