为了账号安全,请及时绑定邮箱和手机立即绑定

python selenium 抓取包含部分文本的项目

python selenium 抓取包含部分文本的项目

慕慕森 2022-06-07 16:56:59
我想从 html 表中提取特定元素,这是我当前的代码:tabela  = soup.find("div", {"class" : "productDatatable"})>>> tabela<div class="productDatatable">\n<div>\r\n            Category:\r\n                        <span class="productDatatableValue">\n<a href="/en/market/mt5/utility">Utilities</a>\n</span>\n</div>\n<div title="Number of activations available for the buyers of this application. During the activation, software product is bound to the buyer's hardware, so that the copy of the application cannot work on another PC. The application should be re-activated and downloaded again in order to launch it on another computer. If the activation limit is exceeded, the buyer will have to purchase the product again.">\r\n            Activations:\r\n                        <span class="productDatatableValue">\r\n                            5\r\n                        </span>\n</div>\n<div style="padding:5px;"></div>\n<div>\r\n            Author:\r\n                        <span class="productDatatableValue">\n<span style="display: inline-block; vertical-align: middle; margin-top: -2px;"><span class="icoVerified small" title="Verified User"></span></span>\n<span title="Konstantin Chernov"><a class="author" href="/en/users/konstantin83" title="Konstantin83">Konstantin Chernov</a></span>\n</span>\n</div>\n<div>\r\n            Published:\r\n                        <span class="productDatatableValue">\r\n                            16 January 2013\r\n                        </span>\n</div>\n<div>\r\n            Current version:\r\n                        <span class="productDatatableValue">1.55</span>\n</div>\n<div>\r\n            Updated:\r\n                        <span class="productDatatableValue">\r\n                            23 March 2015\r\n                        </span>\n</div>\n</div>我如何从这个 html 输出中提取类别名称。我试过这个,但不工作。tabela.find_element_by_xpath("//*[contains(text(), 'Category')]").find("span", {"class" : "productDatatable"}).text我如何从这个 html 中获取类别?我需要输出Utilities
查看完整描述

2 回答

?
慕运维8079593

TA贡献1876条经验 获得超5个赞

要返回Utilities锚标签内的内容,而不是跨度。尝试下面的 Beautifulsoup 代码。 编辑:


from bs4 import BeautifulSoup

import requests

response=requests.get("https://www.mql5.com/en/market/product/635").text

soup=BeautifulSoup(response,'html.parser')

tabela  = soup.find("div", class_="productDatatable").find('span', class_="productDatatableValue").find('a')

print(tabela.text)

编辑:


如果您想使用 selenium,请使用以下 xpath 并参考类别


print(browser.find_element_by_xpath("//div[contains(.,'Category')]/span[@class='productDatatableValue']/a").text)


查看完整回答
反对 回复 2022-06-07
?
四季花海

TA贡献1811条经验 获得超5个赞

请试试这个

tabela.find_element_by_xpath("/html/body/div[1]/div[3]/div[2]/div[1]/div[2]/div[4]/div[1]/span/a").text



查看完整回答
反对 回复 2022-06-07
  • 2 回答
  • 0 关注
  • 158 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信