我想知道是否可以使用 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
根据您分享的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”。
注意:可以根据您的需要修改正则表达式。如果您需要获取已售房产和卧室单元的统计数据。只需更新正则表达式以包含所需的捕获组即可。