我正在尝试从文本内的 span 标签内的 span 标签中提取文本,但遇到问题

I am trying to extract a text from a span tag within a span tag inside a text but having issues

提问人:vee2gee 提问时间:9/8/2023 最后编辑:vee2gee 更新时间:9/23/2023 访问量:28

问:

我确信这已经得到了答案,我已经问过人工智能,并查看了答案,我在尝试提取文本的“点击和收集 - 奢侈品”和“奥克兰机场”时遇到了问题。我是编程新手,刚刚完成 ATBS。做了一些谷歌搜索并得到了一个代码来工作,但它只是在 span 中提取了“职位”。

法典:

for jobs in testing:
    job_names = jobs.find_element(By.TAG_NAME, 'span')
    print(job_names.text)

我试图从中提取信息的网站的 HTML 代码

1在此处输入图像描述

*已修改图像。不能使用 BS4 和 JS 动态更改网站,所以离开使用 Selenuim 无论如何我都想这样做。但是,无法提取 span 元素之后的 div 组件。有什么想法吗?

*答案是:

job_elements = browser.find_elements(By.CSS_SELECTOR, 'a.g08t882.g08t884.g08t887.aoyz142.d3eu8q0.d3eu8qf._1igc8rlh')
    links = []
    for job_element in job_elements:
        link = job_element.get_attribute("href")
            links.append(link)

您必须经过反复试验才能找到正确的 CSS 选择器及其类。例如,它可能在“a”类字段中,因此您将使用类似 a.g08t882.g08t884.g08t887.aoyz142.d3eu8q0.d3eu8qf._1igc8rlh 或它是否在 href 字段中。例如,您可以使用href.g08t882.g08t884.g08t887.aoyz142.d3eu8q0.d3eu8qf._1igc8rlh。这取决于您尝试使用 CSS 选择器从 HTML 文本中获取的内容。

python-3.x selenium-webdriver css-选择器

评论

0赞 Ephellon Grey 9/8/2023
您要获取哪些数据?如果它与提供的图像不同,请在此处粘贴或链接到代码
0赞 Ada 9/8/2023
请将html添加为文本,而不是图片。
0赞 vee2gee 9/9/2023
对不起,我刚刚修改了图片。

答:

0赞 SymphonySimper 9/12/2023 #1

可以使用 method 从 span 元素中获取文本。.get_attribute()

for jobs in testing:
    job_names = jobs.find_element(By.TAG_NAME, 'span')
    print(job_names.get_attribute('textContent').strip())

评论

1赞 vee2gee 9/23/2023
你是对的。我找到了解决方案并使用: job_elements = browser.find_elements(By.CSS_SELECTOR, 'a.g08t882.g08t884.g08t887.aoyz142.d3eu8q0.d3eu8qf._1igc8rlh') links = [] for job_element in job_elements: link = job_element.get_attribute(“href”) links.append(link)