【问题标题】:Is it possible to get data inside '::before' using Selenium是否可以使用 Selenium 在“::before”中获取数据
【发布时间】:2020-05-05 21:12:02
【问题描述】:

我想从这个网站获取公司的手机号码,但是手机号码以一种我从未见过的奇怪格式存储。每个跨度代表手机号码的每个数字。

网站的网址是'https://www.justdial.com/Bangalore/Corporate-Companies-in-Manyata-Tech-Park/nct-10138533'。

我添加的图片由于某种原因没有显示 'https://imgur.com/a/3Tn2dn5'

【问题讨论】:

标签: python selenium selenium-webdriver web-scraping


【解决方案1】:

您需要使用 JavaScript 来访问伪元素 ::before。您可以在此处查看此答案并尝试对其进行修改:https://stackoverflow.com/a/43892892/4323004

browser.execute_script("return window.getComputedStyle(document.querySelector('.SomeTitle .bar'),':before').getPropertyValue('content')")

【讨论】:

    【解决方案2】:

    您可以使用 WebDriver.findElements 中的核心功能。将 xpath 传递给此:“identify_parent_spans/span”,其中 'identify_parent_span 是用于标识电话号码所在节点的 xpath。在让 span 数组对其进行迭代并为每个元素执行 getText 并构建 phoneNumber 字符串之后。

    【讨论】:

      猜你喜欢
      • 2016-11-21
      • 2017-05-05
      • 1970-01-01
      • 1970-01-01
      • 2022-06-23
      • 2022-07-13
      • 1970-01-01
      • 2018-07-14
      • 2018-05-30
      相关资源
      最近更新 更多