返回按钮下文本的一部分 - Selenium Python

问题描述 投票:0回答:1

我想知道是否可以使用 Selenium 从下面的 HTML 返回“Glenvale”:

图片链接

我尝试过使用 Xpath,但这似乎不起作用。

suburb = driver.find_element(By.XPATH, '//*[@id="__next"]/div/div[2]/div/div[4]/div/div/div[8]/div/div/p/text()[6]').text

以下是网站: https://www.domain.com.au/2-76-shelby-street-glenvale-qld-4350-2014406153

python html selenium-webdriver
1个回答
0
投票

根据您分享的HTML,您要过滤的内容实际上是p标签的文本内容。因此,您将无法仅依靠定位器来获得输出。您可以但是,使用正则表达式对您有利。简而言之,获取

<p>
标签的文本内容,然后提取出您想要归零的细节。分享相同方法的示例。

import re

# Initialize the driver and perform the steps

suburb = driver.find_element(By.XPATH, //*[@data-testid="listing-details__domain-says-text"]).get_attribute('textContent')

pattern = r'.*in (.*) have.*'

# Search for the pattern in the text
match = re.search(pattern, text)

if match:
    print(match.group(1)) # returns the location
else:
    print("No match found")

此脚本将捕获 p 标签的文本内容,即

37 other 3 bedroom unit in Glenvale have recently been sold. There are currently 7 properties for sale in Glenvale.
,并使用正则表达式将捕获并返回 1 个位置,在本例中为“Glenvale”。

注意:可以根据您的需要修改正则表达式。如果您需要获取已售房产和卧室单元的统计数据。只需更新正则表达式以包含所需的捕获组即可。

© www.soinside.com 2019 - 2024. All rights reserved.