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

我想从 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


慕慕森
浏览 159回答 2
2回答

慕运维8079593

要返回Utilities锚标签内的内容,而不是跨度。尝试下面的 Beautifulsoup 代码。 编辑:from bs4 import BeautifulSoupimport requestsresponse=requests.get("https://www.mql5.com/en/market/product/635").textsoup=BeautifulSoup(response,'html.parser')tabela&nbsp; = 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)

四季花海

请试试这个tabela.find_element_by_xpath("/html/body/div[1]/div[3]/div[2]/div[1]/div[2]/div[4]/div[1]/span/a").text
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python