仓库 ให้เช่าโกดัง บิ๊กซี ลาดพร้าว2 1.5 กม. MRT รัชดาภิเษก 900 ม. แยก รัชดา-สุทธิสาร พร้อมออฟฟิศ 150 ตร.วา. 495 ตร.ม.
10900
更新于 2025年8月11日 18:31 (1 年前)
租金
房产详情
类型
490 平米
1 颜50 平方哇
停车位
1 车位
面向
0-200 米
物件编号
L2025081182
描述
from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager
from selenium.webdriver.chrome import options
import time
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.keys import Keys
from re import search
from selenium.webdriver.chrome.options import Options
idp = "prayat"
pwp = "prayat2521"
idl = "[email protected]"
pwl = "876678"
i_path = "C:\โปรแกรม Post-ASSET ห้ามลบ\images"
ownerurl = "https://www.post-estates.com"
kurl = "https://www.livinginsider.com/living_buysell.php"
loginurl = "/member_login.php"
ologinurl = ownerurl + loginurl
options = Options()
options.add_argument('--ignore-certificate-errors')
options.binary_location = "C:\Program Files (x86)\Google 109\Chrome\Application\chrome.exe"
driver = webdriver.Chrome(executable_path=r"C:\Driver\chromedriver.exe", options=options)
driver.maximize_window()
time.sleep(1)
try:
driver.get(ologinurl)
time.sleep(3)
driver.find_element_by_id("username_member_login").send_keys(' ')
driver.find_element_by_id("username_member_login").clear()
driver.find_element_by_id("password_member_login").send_keys(' ')
driver.find_element_by_id("password_member_login").clear()
driver.find_element_by_id("username_member_login").send_keys(idp)
driver.find_element_by_id("password_member_login").send_keys(pwp)
time.sleep(1)
driver.find_element_by_id("member__loginsubmit").click()
time.sleep(3)
except:
pass
try:
driver.get('https://www.livinginsider.com/')
time.sleep(1)
driver.find_element_by_xpath('//a[@data-type="login"]').click()
time.sleep(2)
driver.find_element_by_xpath('//input[@id="login_username"]').send_keys(idl)
time.sleep(1)
driver.find_element_by_xpath('//button[text()="ดำเนินการต่อ"]').click()
time.sleep(2)
driver.find_element_by_xpath('//input[@id="password"]').send_keys(pwl)
time.sleep(1)
driver.find_element_by_xpath('//button[text()="ดำเนินการต่อ"]').click()
time.sleep(10)
except:
pass
###ปิดโฆษณา
try:
time.sleep(2)
driver.find_element_by_xpath("(//label[text()='ไม่แสดงอีก']/preceding-sibling::input)[2]").click()
time.sleep(2)
except:
pass
try:
driver.find_element_by_xpath("(//label[text()='ไม่แสดงอีก']/preceding-sibling::input)[1]").click()
time.sleep(2)
except:
pass
try:
driver.find_element_by_xpath(
"(//div[@class='modal-content']/following::a[@type='button' and @class='close' and @aria-label='Close'])[1]").click()
time.sleep(2)
except:
pass
###ปิดโฆษณา
try:
driver.get(ownerurl + "/show_post2.php")
try:
max = WebDriverWait(driver, 10).until(
EC.presence_of_element_located((By.ID, "count"))
)
# print(max.text)
finally:
pass
except:
pass
i = 1
x = range(int(max.text))
for n in x:
# print(n)
driver.get(ownerurl + "/show_post2.php")
time.sleep(1)
driver.find_element_by_id("show2" + str(n + 1)).click()
try:
productid = WebDriverWait(driver, 10).until(
EC.presence_of_element_located((By.ID, "productid"))
)
code_asset = WebDriverWait(driver, 10).until(
EC.presence_of_element_located((By.ID, "code_asset"))
)
want = WebDriverWait(driver, 10).until(
EC.presence_of_element_located((By.ID, "want"))
)
typeasset = WebDriverWait(driver, 10).until(
EC.presence_of_element_located((By.ID, "typeasset"))
)
l_title = WebDriverWait(driver, 10).until(
EC.presence_of_element_located((By.ID, "l_title"))
)
s_title = WebDriverWait(driver, 10).until(
EC.presence_of_element_located((By.ID, "s_title"))
)
price = WebDriverWait(driver, 10).until(
EC.presence_of_element_located((By.ID, "price"))
)
body_txt = WebDriverWait(driver, 10).until(
EC.presence_of_element_located((By.ID, "body_txt"))
)
PROVINCE_NAME = WebDriverWait(driver, 10).until(
EC.presence_of_element_located((By.ID, "PROVINCE_NAME"))
)
AMPHUR_NAME = WebDriverWait(driver, 10).until(
EC.presence_of_element_located((By.ID, "AMPHUR_NAME"))
)
DISTRICT_NAME = WebDriverWait(driver, 10).until(
EC.presence_of_element_located((By.ID, "DISTRICT_NAME"))
)
road = WebDriverWait(driver, 10).until(
EC.presence_of_element_located((By.ID, "road"))
)
soi = WebDriverWait(driver, 10).until(
EC.presence_of_element_located((By.ID, "soi"))
)
near1 = WebDriverWait(driver, 10).until(
EC.presence_of_element_located((By.ID, "near1"))
)
project_th = WebDriverWait(driver, 10).until(
EC.presence_of_element_located((By.ID, "project_th"))
)
region = WebDriverWait(driver, 10).until(
EC.presence_of_element_located((By.ID, "region"))
)
e_title = WebDriverWait(driver, 10).until(
EC.presence_of_element_located((By.ID, "e_title"))
)
e_body = WebDriverWait(driver, 10).until(
EC.presence_of_element_located((By.ID, "e_body"))
)
project_eng = WebDriverWait(driver, 10).until(
EC.presence_of_element_located((By.ID, "project_eng"))
)
building = WebDriverWait(driver, 10).until(
EC.presence_of_element_located((By.ID, "building"))
)
area_sqm = WebDriverWait(driver, 10).until(
EC.presence_of_element_located((By.ID, "area_sqm"))
)
bedroom = WebDriverWait(driver, 10).until(
EC.presence_of_element_located((By.ID, "bedroom"))
)
bahtroom = WebDriverWait(driver, 10).until(
EC.presence_of_element_located((By.ID, "bahtroom"))
)
floor = WebDriverWait(driver, 10).until(
EC.presence_of_element_located((By.ID, "floor"))
)
maxfloor = WebDriverWait(driver, 10).until(
EC.presence_of_element_located((By.ID, "maxfloor"))
)
area_sqwa = WebDriverWait(driver, 10).until(
EC.presence_of_element_located((By.ID, "area_sqwa"))
)
area_ngan = WebDriverWait(driver, 10).until(
EC.presence_of_element_located((By.ID, "area_ngan"))
)
area_rai = WebDriverWait(driver, 10).until(
EC.presence_of_element_located((By.ID, "area_rai"))
)
project_lvr = WebDriverWait(driver, 10).until(
EC.presence_of_element_located((By.ID, "project_lvr"))
)
zone_real = WebDriverWait(driver, 10).until(
EC.presence_of_element_located((By.ID, "zone_real"))
)
usefulspace = WebDriverWait(driver, 10).until(
EC.presence_of_element_located((By.ID, "usefulspace"))
)
sum_sqwa = WebDriverWait(driver, 10).until(
EC.presence_of_element_located((By.ID, "sum_sqwa"))
)
except:
pass
t1 = "คอนโด"
t2 = "บ้าน"
t3 = "ทาวน์เฮ้าส์"
t4 = "อาคารพาณิชย์"
t5 = "ที่ดิน"
t6 = "อพาร์ทเมนท์"
t7 = "โรงแรม"
t8 = "สำนักงาน"
t9 = "โรงงาน"
t10 = "โกดัง"
w1 = "ขาย"
w2 = "ให้เช่า"
w3 = "ขายดาวน์"
ttypeasset = typeasset.text
tproductid = productid.text
tcode_asset = code_asset.text
twant = want.text
tl_title = l_title.text
ts_title = s_title.text
tprice = price.text
tbody_txt = body_txt.text
tPROVINCE_NAME = PROVINCE_NAME.text
tAMPHUR_NAME = AMPHUR_NAME.text
tDISTRICT_NAME = DISTRICT_NAME.text
troad = road.text
tsoi = soi.text
tnear1 = near1.text
tproject_th = project_th.text
tregion = region.text
te_title = e_title.text
te_body = e_body.text
tproject_eng = project_eng.text
tbuilding = building.text
tarea_sqm = area_sqm.text
tbedroom = bedroom.text
tbahtroom = bahtroom.text
tfloor = floor.text
tmaxfloor = maxfloor.text
tarea_sqwa = area_sqwa.text
tarea_ngan = area_ngan.text
tarea_rai = area_rai.text
tusefulspace = usefulspace.text
tsum_sqwa = sum_sqwa.text
tproject_lvr = project_lvr.text
tzone_real = zone_real.text
if tproject_lvr == "#EANF#":
tproject_lvr = "ไม่ทราบ"
if area_rai == "0" and area_ngan == "0" and tarea_sqwa == "0":
area_sqwa = "1"
if tarea_sqm == "0":
tarea_sqm = "1"
if tusefulspace == "0":
tusefulspace = "1"
if tmaxfloor == "0":
tmaxfloor = "1"
if typeasset == "คอนโด":
tusefulspace = tarea_sqm
tarea_sqm = tarea_sqm + ".0"
#tsum_sqwa = tsum_sqwa + ".0"
#tarea_rai = tarea_rai + ".0"
#tarea_ngan = tarea_ngan + ".0"
#tarea_sqwa = tarea_sqwa + ".0"
#tusefulspace = tusefulspace + ".0"
tfloor = int(tfloor)
tbedroom = int(tbedroom)
tbahtroom = int(tbahtroom)
# print(type(tfloor))
# print(tarea_sqm)
# print(tusefulspace)
# print(ttypeasset)
# print(project_lvr.text)
# print(zone_real.text)
try:
driver.get('https://www.livinginsider.com/living_buysell.php')
time.sleep(10)
except:
pass
try:
driver.find_element_by_xpath('//a[text()="ปิดแถบนี้"]').click()
time.sleep(1)
except:
pass
try:
driver.find_element_by_xpath('(//span[text()="X"])[1]').click()
time.sleep(2)
except:
pass
try:
iframe = driver.find_element(By.XPATH, "//iframe[@title='Livinginsider']")
driver.switch_to.frame(iframe)
time.sleep(1)
except:
pass
try:
driver.find_element_by_xpath("//li[span[contains(., 'นายหน้า (Agent)')]]").click()
time.sleep(1)
except:
pass
driver.execute_script("window.scrollBy(0,300);void(0);")
time.sleep(2)
if twant == "ขาย":
try:
driver.find_element_by_xpath("//li[span[normalize-space(.) = 'ขาย']]").click()
time.sleep(1)
except:
pass
elif twant == "ให้เช่า":
try:
driver.find_element_by_xpath("//li[span[normalize-space(.) = 'เช่า']]").click()
time.sleep(1)
except:
pass
else:
try:
driver.find_element_by_xpath("//li[span[normalize-space(.) = 'ขายดาวน์']]").click()
time.sleep(1)
except:
pass
try:
if ttypeasset == "คอนโด" or ttypeasset == "บ้าน" or ttypeasset == "ทาวน์เฮ้าส์" or ttypeasset == "ที่ดิน":
# รอให้ element ปรากฏขึ้นในระยะเวลาหนึ่ง
element = WebDriverWait(driver, 10).until(
EC.presence_of_element_located(
(By.XPATH, "//li[span[normalize-space(.) = 'โฮมออฟฟิศ']]"))
)
else:
# รอให้ element ปรากฏขึ้นในระยะเวลาหนึ่ง
element = WebDriverWait(driver, 10).until(
EC.presence_of_element_located(
(By.XPATH, "//li[span[normalize-space(.) = 'อาคารพาณิชย์']]"))
)
# ใช้ JavaScript scroll ให้ element อยู่ใน viewport
driver.execute_script("arguments[0].scrollIntoView({behavior: 'smooth', block: 'center'});", element)
# หน่วงเวลา 1.5 วินาทีเพื่อให้การเลื่อนเสร็จสมบูรณ์
time.sleep(1.5)
except:
pass
try:
if ttypeasset == "คอนโด":
driver.find_element_by_xpath("//li[span[normalize-space(.) = 'คอนโด']]").click()
time.sleep(1)
if ttypeasset == "บ้าน":
driver.find_element_by_xpath("//li[span[normalize-space(.) = 'บ้าน/บ้านเดี่ยว']]").click()
time.sleep(1)
if ttypeasset == "ทาวน์เฮ้าส์":
driver.find_element_by_xpath("//li[span[normalize-space(.) = 'ทาวน์โฮม/ทาวน์เฮ้าส์']]").click()
time.sleep(1)
if ttypeasset == "อาคารพาณิชย์":
driver.find_element_by_xpath("//li[span[normalize-space(.) = 'อาคารพาณิชย์']]").click()
time.sleep(1)
if ttypeasset == "ที่ดิน":
driver.find_element_by_xpath("//li[span[normalize-space(.) = 'ที่ดิน']]").click()
time.sleep(1)
if ttypeasset == "อพาร์ทเมนท์":
driver.find_element_by_xpath("//li[span[normalize-space(.) = 'กิจการโรงแรม & กิจการอพาร์ตเมนต์']]").click()
time.sleep(1)
if ttypeasset == "โรงแรม":
driver.find_element_by_xpath("//li[span[normalize-space(.) = 'กิจการโรงแรม & กิจการอพาร์ตเมนต์']]").click()
time.sleep(1)
if ttypeasset == "สำนักงาน":
driver.find_element_by_xpath("//li[span[normalize-space(.) = 'สำนักงาน']]").click()
time.sleep(1)
if ttypeasset == "โรงงาน":
driver.find_element_by_xpath("//li[span[normalize-space(.) = 'โรงงาน']]").click()
time.sleep(1)
if ttypeasset == "โกดัง":
driver.find_element_by_xpath("//li[span[normalize-space(.) = 'โกดัง']]").click()
time.sleep(1)
except:
pass
try:
# รอให้ element ปรากฏขึ้นในระยะเวลาหนึ่ง
element = WebDriverWait(driver, 10).until(
EC.presence_of_element_located(
(By.XPATH, "//span[@class='line-clamp-1 pl-0.5 text-grey-outline' and contains(text(), 'เลือกทำเล')]"))
)
# ใช้ JavaScript scroll ให้ element อยู่ใน viewport
driver.execute_script("arguments[0].scrollIntoView({behavior: 'smooth', block: 'end'});", element)
# หน่วงเวลา 1.5 วินาทีเพื่อให้การเลื่อนเสร็จสมบูรณ์
time.sleep(1.5)
except:
pass
if ttypeasset == "คอนโด":
driver.execute_script("window.scrollBy(0,200);void(0);")
time.sleep(2)
try:
driver.find_element_by_xpath("//span[contains(text(), 'เลือกโครงการ')]/parent::div").click()
time.sleep(1)
except:
pass
try:
driver.find_element_by_xpath("//input[@placeholder='ค้นหาโครงการ']").send_keys(tproject_lvr)
# driver.find_element_by_xpath('//input[@class="select2-search__field"]').send_keys("ไม่มี")
time.sleep(5)
except:
pass
try:
# driver.find_element_by_xpath('//li[contains(text(),"' + tproject_lvr + '")]').click()
driver.find_element_by_xpath(
"//p[contains(text(), 'ไม่ระบุโครงการ')]/ancestor::li/preceding::li[1]/following::li[2]").click()
time.sleep(3)
except:
pass
try:
# driver.find_element_by_xpath('//li[contains(text(),"' + tproject_lvr + '")]').click()
driver.find_element_by_xpath("//p[contains(text(), 'ไม่ระบุโครงการ')]/ancestor::li").click()
time.sleep(3)
except:
pass
# //p[contains(text(), 'ไม่ระบุโครงการ')]/ancestor::li/preceding::li[1]/following::li[2] โครงการ
else:
try:
driver.find_element_by_xpath("//span[contains(text(), 'เลือกโครงการ')]/parent::div").click()
time.sleep(1)
except:
pass
try:
time.sleep(5)
driver.find_element_by_xpath("//input[@placeholder='ค้นหาโครงการ']").send_keys("ไม่ระบุ")
time.sleep(3)
except:
pass
try:
# driver.find_element_by_xpath('//li[contains(text(),"' + tproject_lvr + '")]').click()
driver.find_element_by_xpath("//p[contains(text(), 'ไม่ระบุโครงการ')]/ancestor::li").click()
time.sleep(3)
except:
pass
# //p[contains(text(), 'ไม่ระบุโครงการ')]/ancestor::li ไม่ระบุโครงการ
try:
time.sleep(5)
driver.find_element_by_xpath("//div[span[contains(text(),'เลือกทำเล')]]").click()
time.sleep(3)
except:
pass
try:
driver.find_element_by_xpath("//input[contains(@placeholder, 'ค้นหาทำเลที่ตั้ง')]").send_keys(tzone_real)
time.sleep(6)
except:
pass
try:
# driver.find_element_by_xpath('//li[contains(text(),"' + tproject_lvr + '")]').click()
driver.find_element_by_xpath("//input[contains(@placeholder, 'ค้นหาทำเลที่ตั้ง')]/following::li[1]").click()
time.sleep(2)
except:
pass
driver.execute_script("window.scrollBy(0,200);void(0);")
time.sleep(2)
try:
driver.find_element_by_xpath("//button[@type='button' and @role='switch' and @data-state='checked']").click()
time.sleep(2)
except:
pass
#เลื่อนหาถัดไป
try:
# รอให้ element ปรากฏขึ้นในระยะเวลาหนึ่ง
element = WebDriverWait(driver, 10).until(
EC.presence_of_element_located(
(By.XPATH, "//button[text()='ถัดไป' and contains(@class, 'inline-flex')]"))
)
# ใช้ JavaScript scroll ให้ element อยู่ใน viewport
driver.execute_script("arguments[0].scrollIntoView({behavior: 'smooth', block: 'center'});", element)
# หน่วงเวลา 1.5 วินาทีเพื่อให้การเลื่อนเสร็จสมบูรณ์
time.sleep(1.5)
except:
pass
# เลื่อนหาถัดไป
try:
driver.find_element_by_xpath("//button[text()='ถัดไป' and contains(@class, 'inline-flex')]").click()
time.sleep(4)
except:
pass
try:
driver.find_element_by_xpath("//button[text()='ถัดไป' and contains(@class, 'inline-flex')]").click()
time.sleep(4)
except:
pass
# รายการตำแหน่งไฟล์รูป
image_paths = [
i_path + "\\" + tproductid + f"pic{i}.jpg" for i in range(1, 9)
]
# กรองเฉพาะไฟล์ที่มีขนาดมากกว่า 1KB
valid_images = []
for path in image_paths:
try:
with open(path, 'rb') as f:
if len(f.read()) > 1024:
valid_images.append(path)
except FileNotFoundError:
pass
if valid_images:
try:
driver.find_element_by_xpath(
"(//span[text()='เพิ่มรูป']/parent::div//input[@type='file'])[1]"
).send_keys("\n".join(valid_images))
time.sleep(50)
except Exception as e:
print(f"Error uploading images: {e}")
pass
try:
# รอให้ element ปรากฏขึ้นในระยะเวลาหนึ่ง
element = WebDriverWait(driver, 10).until(
EC.presence_of_element_located(
(By.XPATH, "//button[text()='ถัดไป' and contains(@class, 'inline-flex')]"))
)
# ใช้ JavaScript scroll ให้ element อยู่ใน viewport
driver.execute_script("arguments[0].scrollIntoView({behavior: 'smooth', block: 'center'});", element)
# หน่วงเวลา 1.5 วินาทีเพื่อให้การเลื่อนเสร็จสมบูรณ์
time.sleep(1.5)
except:
pass
try:
driver.find_element_by_xpath("//button[text()='ถัดไป' and contains(@class, 'inline-flex')]").click()
time.sleep(2)
except:
pass
try:
driver.find_element_by_xpath("//button[text()='ถัดไป' and contains(@class, 'inline-flex')]").click()
time.sleep(2)
except:
pass
try:
driver.find_element_by_xpath("//button[text()='ถัดไป' and contains(@class, 'inline-flex')]").click()
time.sleep(4)
except:
pass
try:
# หัวข้อ
driver.find_element_by_xpath("//input[@type='text' and @maxlength='255']").send_keys(tl_title)
time.sleep(1)
except:
pass
try:
# เนื้อหา
driver.find_element_by_xpath("(//textarea[contains(@placeholder, 'เช่น')])[1]").send_keys(tbody_txt)
time.sleep(3)
except:
pass
if te_title != "-" or te_body != "-":
try:
# รอให้ element ปรากฏขึ้นในระยะเวลาหนึ่ง
element = WebDriverWait(driver, 10).until(
EC.presence_of_element_located(
(By.XPATH, '//img[@src="/icons/en-flag.svg"]'))
)
# ใช้ JavaScript scroll ให้ element อยู่ใน viewport
driver.execute_script("arguments[0].scrollIntoView({behavior: 'smooth', block: 'center'});", element)
# หน่วงเวลา 1.5 วินาทีเพื่อให้การเลื่อนเสร็จสมบูรณ์
time.sleep(1.5)
except:
pass
try:
driver.find_element_by_xpath('//img[@src="/icons/en-flag.svg"]').click()
time.sleep(3)
except:
pass
try:
# หัวข้อ eng
driver.find_element_by_xpath("//input[@type='text' and @maxlength='255']").send_keys(te_title)
time.sleep(1)
except:
pass
try:
# เนื้อหา eng
driver.find_element_by_xpath("(//textarea[contains(@placeholder, 'เช่น')])[1]").send_keys(te_body)
time.sleep(3)
except:
pass
try:
# รหัสทรัพย์
driver.find_element_by_xpath("(//input[contains(@placeholder, 'XXXXX')])[1]").send_keys(tcode_asset)
time.sleep(1)
except:
pass
# วันที่พร้อมให้เช่า
driver.execute_script("window.scrollBy(0,300);void(0);")
time.sleep(2)
if twant == "ให้เช่า":
try:
button = driver.find_element(By.XPATH, "//button[div[text()='DD/MM/YYYY']]")
driver.execute_script("arguments[0].click();", button)
time.sleep(2)
except:
pass
try:
span_button = driver.find_element(By.XPATH,
"//span[@role='button' and contains(@aria-label, 'First available date')]")
driver.execute_script("arguments[0].click();", span_button)
time.sleep(1)
except:
pass
# วันที่พร้อมให้เช่า
# ตร.ม.
if ttypeasset == "คอนโด":
try:
driver.find_element_by_xpath(
"//span[@class='!text-border flex-none' and text()='ตร.ม.']/preceding::input[1]").send_keys(tarea_sqm)
time.sleep(1)
except:
pass
# ไร่
#print("rai" + tarea_rai)
#print("ngan" + tarea_ngan)
#print("sqwa" + tarea_sqwa)
try:
driver.find_element_by_xpath(
"//span[@class='!text-border flex-none' and text()='ไร่']/preceding::input[1]").send_keys(tarea_rai)
time.sleep(1)
except:
pass
# งาน
try:
driver.find_element_by_xpath(
"//span[@class='!text-border flex-none' and text()='งาน']/preceding::input[1]").send_keys(tarea_ngan)
time.sleep(1)
except:
pass
# ตารางวา
try:
driver.find_element_by_xpath(
"//span[@class='!text-border flex-none' and text()='ตร.ว.']/preceding::input[1]").send_keys(tarea_sqwa)
time.sleep(1)
except:
pass
# พื้นที่ใช้สอย
if ttypeasset != "คอนโด":
try:
driver.find_element_by_xpath(
"//span[@class='!text-border flex-none' and text()='ตร.ม.']/preceding::input[1]").send_keys(
tusefulspace)
time.sleep(1)
except:
pass
# จำนวนชั้นทั้งหมด
if ttypeasset != "ที่ดิน":
if ttypeasset != "คอนโด" and ttypeasset != "สำนักงาน":
try:
# เลื่อนหา
# รอให้ปุ่มแรกใน num-floors ปรากฏ
element = WebDriverWait(driver, 10).until(
EC.presence_of_element_located((By.XPATH, "//div[contains(@class, 'num-floors')]//button[1]"))
)
# ใช้ JavaScript scroll ให้ element อยู่ใน viewport
driver.execute_script("arguments[0].scrollIntoView({behavior: 'smooth', block: 'center'});", element)
# หน่วงเวลา 1.5 วินาทีเพื่อให้การเลื่อนเสร็จสมบูรณ์
time.sleep(1.5)
except:
pass
# driver.execute_script("window.scrollBy(0, 300);")
time.sleep(2)
try:
time.sleep(4)
driver.find_element_by_xpath("//div[contains(@class, 'num-floors')]//button[1]").click()
time.sleep(4)
except:
pass
try:
time.sleep(3)
# กดคลิกเลือกจำนวนชั้น
driver.execute_script("""
var tmaxfloor = String(arguments[0]).trim(); // แปลงเป็น string และตัดช่องว่าง
// ถ้า tmaxfloor เป็น 0 ให้เปลี่ยนเป็น 1
if (tmaxfloor == '0') {
tmaxfloor = '1';
}
try {
var spanElements = [...document.querySelectorAll('div[role="option"] span')];
var spanElement;
if (tmaxfloor === 'มากกว่า 100') {
spanElement = spanElements.find(span => span.textContent.includes('มากกว่า 100'));
} else {
spanElement = spanElements.find(span => span.textContent.trim() === tmaxfloor);
}
console.log("spanElement:", spanElement); // Debugging
if (spanElement) {
var divElement = spanElement.closest('div[role="option"]');
console.log("divElement:", divElement); // Debugging
if (divElement) {
divElement.click();
} else {
throw new Error('ไม่พบ div ที่เป็น parent ของ span');
}
} else {
throw new Error('ไม่พบ span ที่มีข้อความตรงกับ tmaxfloor');
}
} catch (error) {
console.error('เกิดข้อผิดพลาดใน JavaScript: ', error.message);
return false;
}
""", tmaxfloor)
time.sleep(4)
except:
pass
else:
try:
# เลื่อนหา
# รอให้ปุ่มแรกใน num-floors ปรากฏ
element = WebDriverWait(driver, 10).until(
EC.presence_of_element_located((By.XPATH, "//div[contains(@class, 'floors')]//button[1]"))
)
# ใช้ JavaScript scroll ให้ element อยู่ใน viewport
driver.execute_script("arguments[0].scrollIntoView({behavior: 'smooth', block: 'center'});", element)
# หน่วงเวลา 1.5 วินาทีเพื่อให้การเลื่อนเสร็จสมบูรณ์
time.sleep(1.5)
except:
pass
# driver.execute_script("window.scrollBy(0, 300);")
time.sleep(2)
try:
time.sleep(4)
driver.find_element_by_xpath("//div[contains(@class, 'floors')]//button[1]").click()
time.sleep(4)
except:
pass
try:
# กดคลิกเลือกจำนวนชั้นคอนโด
time.sleep(3)
driver.execute_script("""
var tfloor = String(arguments[0]).trim(); // แปลงเป็น string และตัดช่องว่าง
// ถ้า tfloor เป็น 0 ให้เปลี่ยนเป็น 1
if (tfloor == '0') {
tfloor = '1';
}
try {
var spanElements = [...document.querySelectorAll('div[role="option"] span')];
var spanElement = spanElements.find(span => span.textContent.trim() === tfloor);
console.log("spanElement:", spanElement); // Debugging
if (spanElement) {
var divElement = spanElement.closest('div[role="option"]');
console.log("divElement:", divElement); // Debugging
if (divElement) {
divElement.scrollIntoView({behavior: 'smooth', block: 'center'}); // เลื่อนเข้า viewport
setTimeout(() => divElement.click(), 500); // รอ 0.5 วินาทีก่อนคลิก
} else {
throw new Error('ไม่พบ div ที่เป็น parent ของ span');
}
} else {
throw new Error('ไม่พบ span ที่มีข้อความตรงกับ tfloor');
}
} catch (error) {
console.error('เกิดข้อผิดพลาดใน JavaScript: ', error.message);
return false;
}
""", tfloor)
time.sleep(3)
except:
pass
if ttypeasset == "อาคารพาณิชย์" or ttypeasset == "อพาร์ทเมนท์" or ttypeasset == "โรงแรม":
try:
driver.find_element_by_xpath(
"//div[label//span[contains(text(), 'จำนวนห้อง')]]/following-sibling::div//input").send_keys(tbedroom)
time.sleep(3)
except:
pass
if ttypeasset != "ที่ดิน":
# เลือกห้องนอน
try:
driver.find_element_by_xpath('//div[@class="bedrooms"]/button').click()
time.sleep(3)
except:
pass
try:
# เลือกห้องนอน
driver.execute_script("""
try {
var tbedroom = arguments[0]; // รับค่าจาก Python
// แปลงค่าห้องนอนให้ตรงกับ HTML
if (tbedroom == '0' || tbedroom == '1') {
tbedroom = '1 ห้อง';
} else if (tbedroom == '2') {
tbedroom = '2 ห้อง';
} else if (tbedroom == '3') {
tbedroom = '3 ห้อง';
} else if (tbedroom == '4') {
tbedroom = '4 ห้อง';
} else if (tbedroom == '5') {
tbedroom = '5 ห้อง';
} else if (tbedroom == '6') {
tbedroom = '6 ห้อง';
} else if (tbedroom == '7') {
tbedroom = '7 ห้อง';
} else if (tbedroom == '8') {
tbedroom = '8 ห้อง';
} else if (tbedroom == '9') {
tbedroom = '9 ห้อง';
} else if (tbedroom == '10') {
tbedroom = '10 ห้อง';
} else {
tbedroom = 'มากกว่า 10 ห้อง';
}
console.log("กำลังเลือก: " + tbedroom); // Debug log
// ค้นหา span ที่มีข้อความตรงกับ tbedroom
var spanElement = [...document.querySelectorAll('span')]
.find(span => span.textContent.trim() === tbedroom);
if (spanElement) {
// ย้อนกลับไปหา div ที่เป็น parent ของ span
var divElement = spanElement.closest('div[role="option"]');
if (divElement) {
divElement.click();
console.log("คลิกสำเร็จ: " + tbedroom);
} else {
console.error("ไม่พบ div parent ของ: " + tbedroom);
}
} else {
console.error("ไม่พบตัวเลือก: " + tbedroom);
}
} catch (err) {
console.error("เกิดข้อผิดพลาด: ", err);
}
""", tbedroom)
except:
pass
# เลือกห้องน้ำ
try:
driver.find_element_by_xpath('//div[@class="bath_rooms"]/button').click()
time.sleep(3)
except:
pass
try:
# เลือกห้องนอน
driver.execute_script("""
var tbahtroom = arguments[0]; // ตัวแปรจาก Python ผ่าน arguments
// แปลงค่าห้องนอน
if (tbahtroom == '0') {
tbahtroom = '1 ห้องน้ำ';
} else if (tbahtroom == '1') {
tbahtroom = '1 ห้องน้ำ';
} else if (tbahtroom == '2') {
tbahtroom = '2 ห้องน้ำ';
} else if (tbahtroom == '3') {
tbahtroom = '3 ห้องน้ำ';
} else if (tbahtroom == '4') {
tbahtroom = '4 ห้องน้ำ';
} else if (tbahtroom == '5') {
tbahtroom = '5 ห้องน้ำ';
} else {
tbahtroom = 'มากกว่า 5';
}
// ค้นหา span ที่มีข้อความตรงกับ tbahtroom
var spanElement = [...document.querySelectorAll('span')].find(span => span.textContent.trim() === tbahtroom);
if (spanElement) {
// ย้อนกลับไปหา div ที่เป็น parent ของ span
var divElement = spanElement.closest('div[role="option"]');
// คลิกที่ div
divElement.click();
}
""", tbahtroom)
except:
pass
# เลือก เช่ารายเดือน
if twant == "ให้เช่า":
try:
driver.execute_script("""
setTimeout(() => {
try {
var imgElement = document.querySelector('img[alt="icon เช่ารายเดือน"]');
if (imgElement) {
imgElement.click();
console.log("คลิกสำเร็จที่ไอคอนเช่ารายเดือน");
} else {
console.error("ไม่พบไอคอนเช่ารายเดือน");
}
} catch (err) {
console.error("เกิดข้อผิดพลาด: ", err);
}
}, 2000); // 2000 มิลลิวินาที (2 วินาที)
""")
time.sleep(2) # รอให้ JavaScript ทำงานก่อน Python ไปขั้นตอนถัดไป
except:
pass
try:
# เลือกเตียงนอน
driver.execute_script("""
setTimeout(() => {
try {
var imgElement = document.querySelector('img[alt="icon เตียงนอน"]');
if (imgElement) {
imgElement.scrollIntoView(); // เลื่อนให้เห็น
setTimeout(() => imgElement.click(), 1000); // รอ 1 วินาทีก่อนคลิก
console.log("คลิกสำเร็จที่ไอคอนเตียงนอน");
} else {
console.error("ไม่พบไอคอนเตียงนอน");
}
} catch (err) {
console.error("เกิดข้อผิดพลาด: ", err);
}
}, 2000); // 2000 มิลลิวินาที (2 วินาที)
""")
time.sleep(3) # รอให้ JavaScript ทำงานก่อน Python ไปขั้นตอนถัดไป
except:
pass
try:
# เลือก ไม่พบไอคอนระบบรักษาความปลอดภัย
driver.execute_script("""
setTimeout(() => {
try {
var imgElement = document.querySelector('img[alt="icon ระบบรักษาความปลอดภัย"]');
if (imgElement) {
imgElement.scrollIntoView(); // เลื่อนให้เห็น
setTimeout(() => imgElement.click(), 1000); // รอ 1 วินาทีก่อนคลิก
console.log("คลิกสำเร็จที่ไอคอนระบบรักษาความปลอดภัย");
} else {
console.error("ไม่พบไอคอนระบบรักษาความปลอดภัย");
}
} catch (err) {
console.error("เกิดข้อผิดพลาด: ", err);
}
}, 2000); // 2000 มิลลิวินาที (2 วินาที)
""")
time.sleep(3) # รอให้ JavaScript ทำงานก่อน Python ไปขั้นตอนถัดไป
except:
pass
try:
# รอให้ element ปรากฏขึ้นในระยะเวลาหนึ่ง
element = WebDriverWait(driver, 10).until(
EC.presence_of_element_located(
(By.XPATH, "//button[text()='ถัดไป' and contains(@class, 'inline-flex')]"))
)
# ใช้ JavaScript scroll ให้ element อยู่ใน viewport
driver.execute_script("arguments[0].scrollIntoView({behavior: 'smooth', block: 'center'});", element)
# หน่วงเวลา 1.5 วินาทีเพื่อให้การเลื่อนเสร็จสมบูรณ์
time.sleep(1.5)
except:
pass
# ถัดไป
try:
driver.find_element_by_xpath("//button[text()='ถัดไป' and contains(@class, 'inline-flex')]").click()
time.sleep(4)
except:
pass
try:
driver.find_element_by_xpath("//button[text()='ถัดไป' and contains(@class, 'inline-flex')]").click()
time.sleep(4)
except:
pass
# ราคา
# ราคา promotion
new_tprice = round(int(tprice) * 1.2)
new_tprice_str = str(new_tprice) # แปลง new_tprice เป็น string
try:
time.sleep(1)
driver.find_element_by_xpath(
"//div[./label//span[text()='ตั้งราคาโปรโมชัน']]//button[@type='button' and @role='switch' and @data-state='unchecked']").click()
time.sleep(3)
except:
pass
try:
# ราคา new_tprice
driver.find_element_by_xpath('(//input[@inputmode="numeric" and @placeholder="ราคา"])[1]').send_keys(
new_tprice_str)
time.sleep(2)
except:
pass
try:
# ราคา tprice
driver.find_element_by_xpath('(//input[@inputmode="numeric" and @placeholder="ราคา"])[2]').send_keys(tprice)
time.sleep(2)
except:
pass
# ราคา promotion
try:
# Wait for the button with text "บันทึกร่าง" to appear
button = WebDriverWait(driver, 10).until(
EC.presence_of_element_located(
(By.XPATH, "//button[contains(text(), 'บันทึกร่าง')]"))
)
# Scroll the page so the button is in view
driver.execute_script("arguments[0].scrollIntoView({behavior: 'smooth', block: 'center'});", button)
# Wait for the scrolling to complete (optional)
time.sleep(1.5)
except:
pass
# coagent #""" คือ เปิดรับ COAGENT , """ คือ ไม่เปิดรับ COAGENT
"""
try:
driver.find_element_by_xpath(
'//div[label//span[text()="เปิดรับ Co-Agent"]]/button[@type="button" and @role="switch" and @data-state="unchecked"]').click()
time.sleep(3)
except Exception as e:
print(f"เกิดข้อผิดพลาด: {e}")
pass
"""
# coagent #""" คือ เปิดรับ COAGENT , """ คือ ไม่เปิดรับ COAGENT
# ------------- บันทึกแบบร่าง -------------#
# """ คือเปิดแบบร่าง , """ ปิดแบบร่าง
#"""
try:
driver.find_element_by_xpath("//button[contains(text(), 'บันทึกร่าง')]").click()
time.sleep(6)
except:
pass
try:
driver.find_element_by_xpath("//button[contains(@class, 'inline-flex') and contains(text(), 'ตกลง')]").click()
time.sleep(6)
except:
pass
#"""
# ------------- เผยแพร่ -------------#
# """ คือเปิดเผยแพร่ , """ ไม่เผยแพร่
"""
try:
driver.find_element_by_xpath("//button[contains(@class, 'inline-flex') and contains(text(), 'เผยแพร่ !')]").click()
time.sleep(6)
except:
pass
try:
driver.find_element_by_xpath("//button[text()='ยืนยัน']").click()
time.sleep(6)
except:
pass
"""
# ------------- จบ -------------#
try:
driver.switch_to.default_content()
time.sleep(1)
except:
pass
# โพสเสร็จสิ้น
项目地点
周边设备
SRT 坤帖阿披瓦 (RW01&RN01)
614 米
MRT 挽赐 (BL11)
681 米
BTS 叻拋五岔路 (N9)
724 米
MRT 乍都节 (BL13)
758 米
BTS 莫奇 (N8)
794 米
MRT 甘烹碧 (BL12)
904 米
MRT 拍凤裕庭 (BL14)
1.0 公里
MRT 岛本 (BL10)
1.0 公里
MRT 岛本 (PP16)
1.1 公里
MRT 邦颂 (PP15)
1.1 公里
SRT 邦颂 (RW02)
1.1 公里
SRT 乍都乍 (RN02)
1.1 公里
BTS 水牛橋 (N7)
1.2 公里
BTS 社那仑 (N6)
1.6 公里
BTS 帕凤裕庭24巷 (N10)
1.7 公里
MRT 邦坡 (BL09)
1.7 公里
MRT 翁沙旺 (PP14)
1.8 公里
MRT 拉抛 (BL15)
1.9 公里
MRT 拉抛 (YL01)
2.0 公里
BTS 拉差裕庭 (N11)
2.1 公里
MRT 叻猜拉披色 (BL16)
2.1 公里
BTS 阿里 (N5)
2.1 公里
SRT 萨冕纳里寺 (RN03)
2.3 公里
MRT 素铁讪 (BL17)
2.4 公里
MRT 邦奥 (BL08)
2.5 公里
BTS 社那尼空 (N12)
2.6 公里
BTS 打靶场 (N4)
2.7 公里
MRT 拍瓦那 (YL02)
2.7 公里
MRT 迪瓦暖交叉口 (PP13)
2.8 公里
SRT 邦肯 (RN04)
2.9 公里
MRT 汇权 (BL18)
2.9 公里
MRT 邦盼 (BL07)
3.0 公里
BTS 农业大学 (N13)
3.0 公里
MRT 卫生部 (PP12)
3.3 公里
BTS 勝利紀念碑 (N3)
3.4 公里
MRT 措猜4 (YL03)
3.5 公里
MRT 泰国文化中心 (BL19)
3.5 公里
MRT 泰捷维保中心 (OR14)
3.5 公里
MRT 泰国文化中心 (OR13)
3.5 公里
BTS 林业局 (N14)
3.7 公里
SRT 童颂洪 (RN05)
3.7 公里
BTS 披耶泰 (N2)
3.8 公里
ARL 披耶泰 (A8)
3.8 公里
ARL 拉差巴洛 (A7)
3.9 公里
MRT 拍喃九 (BL20)
3.9 公里
MRT 凯莱 (PK02)
3.9 公里
MRT 诗琳通 (BL06)
4.0 公里
MRT 暖武里行政中心 (PP11)
4.0 公里
MRT 暖武里行政中心 (PK01)
4.0 公里
MRT 邦甲秀 (PP10)
4.0 公里
BTS 邦博 (N15)
4.1 公里
BTS 拉差貼威 (N1)
4.2 公里
ARL 马卡萨 (A6)
4.3 公里
MRT 叻拋71 (YL04)
4.5 公里
MRT 碧武里 (BL21)
4.5 公里
BTS 暹罗 (CEN)
4.6 公里
BTS 暹罗 (CEN)
4.6 公里
BTS 国家体育馆 (W1)
4.6 公里
BTS 奇隆 (E1)
4.6 公里
MRT 邦益康 (BL05)
4.7 公里
BTS 奔集 (E2)
4.7 公里
SRT 邦班隆 (RW05)
4.8 公里
BTS - 素坤逸线
4.8 公里
MRT - 兰线
4.8 公里
ARL - 机场线
4.8 公里
MRT - 紫线
4.8 公里
BTS - 是隆线
4.8 公里
BTS - 金线
4.8 公里
SRT - 红线
4.8 公里
MRT - 橙线
4.8 公里
MRT - 黄线
4.8 公里
MRT - 粉红
4.8 公里
MRT 色南兵难 (PK03)
4.8 公里
BTS 那那 (E3)
4.9 公里
MRT 叻拋83 (YL05)
4.9 公里
BTS 拉喃立 (S1)
5.0 公里
ค่าเสื่อมราคาบ้านและคอนโดคืออะไร? วิธีประเมินมูลค่าก่อนซื้อ ขาย หรือลงทุน
ค่าเสื่อมราคาบ้านและคอนโดคิดอย่างไร? ทำความเข้าใจปัจจัยที่ทำให้มูลค่าลดลง วิธีประเมินราคาทรัพย์ และสิ่งที่ควรเช็กก่อนซื้อ ขาย หรือลงทุน
2026年9月8日
BTS สายสุขุมวิท รถไฟฟ้าสายหลักเชื่อม 3 จังหวัด เจาะทำเลคอนโดน่าอยู่ตลอดสาย
รู้จัก BTS สายสีลม สนามกีฬาแห่งชาติ–บางหว้า รวม 14 สถานี เจาะเส้นทางสีลม–สาทร จุดเชื่อมต่อสำคัญ และบทบาทในการเชื่อมฝั่งธนบุรี
2026年9月8日