我正在抓取的网页中的元素是由两个x_path之一找到的,即使这些元素几乎相同。基本上,某些元素旁边有一个图标,而有些则没有。但是我对该图标不感兴趣,我只是在刮擦它旁边的数字。
对于带有图标的数据,我使用:
driver.find_elements_by_xpath('//a[@class="in-match"]')
对于没有图标的数据,我使用:
driver.find_elements_by_xpath('//td[@class="table-main__detail-odds table-main__detail-odds--first"]')
我需要我的刮板才能找到这两件事之一。重要的是,它要同时查找它们,以使抓取的顺序与数据在页面上显示的顺序相同。
这似乎是一个简单的问题,但是我真的不确定如何做到。
谢谢。
答案 0 :(得分:0)
您可以在XPath中使用or
条件来匹配两个条件,如下所示:
locator = '//a[@class="in-match" or @class="table-main__detail-odds table- main__detail-odds--first"]'
driver.find_elements_by_xpath(locator)
这将同时匹配两个class
的元素。