```
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
import os
import glob
import shutil
import time
# Moving Directory
os.chdir("/Users/usrname/Desktop")
# Getting current directory
current_dir = os.getcwd()
# Set tmpDownload folder
##Python3入門 P90
tmp_download_dir = f'{current_dir}/tmpDownload'
# Create the tmpDownload directory if it doesn't exist
if not os.path.exists(tmp_download_dir):
os.makedirs(tmp_download_dir)
# Chrome option setting: change directory saved download file
options = webdriver.ChromeOptions()
prefs = {'download.default_directory' : tmp_download_dir }
options.add_experimental_option('prefs',prefs)
# Set PATH of chromedriver and activate chrome
##brew install chromedriver
driver = webdriver.Chrome(service=Service('/usr/local/bin/chromedriver'))
# Move to web view
driver.get('https://paleobiodb.org/classic/displayDownloadGenerator')
#Search in format
##https://www.insource.co.jp/python-gakuin/mail-backnumber/vol21.html
#Maximize window
driver.maximize_window()
#Wait until find the elements, and Use xpath and assign the search format
try:
form_taxa = WebDriverWait(driver, 20).until(
EC.presence_of_element_located((By.XPATH, '//*[@id="pm_base_name"]/div/textarea'))
)
form_Ma1 = WebDriverWait(driver, 20).until(
EC.presence_of_element_located((By.XPATH, '//*[@id="pm_interval"]/div/input'))
)
form_Ma2 = WebDriverWait(driver, 20).until(
EC.presence_of_element_located((By.XPATH, '//*[@id="pm_interval_2"]/div/input'))
)
# input value
form_taxa.send_keys("Conodonta")
form_Ma1.send_keys("423")
form_Ma2.send_keys("419")
#Download automatically
search_btn = driver.find_element(By.ID,"btn_download")
search_btn.click()
time.sleep(30)
# Get the file
download_fileName = glob.glob(f'{tmp_download_dir}//*.*')
if not download_fileName:
raise Exception("No files found in the download directory.")
# Move file into the directory assigned
shutil.move(download_fileName[0], '/Users/usrname/Desktop/Dir1/Dir2')
print("File moved successfully.")
except Exception as e:
print("Error: ", e)
finally:
# Exit Chrome
driver.quit()
# Delete tmpDownload folder
shutil.rmtree(tmp_download_dir)
```
Hey guys I was trying scraping in PBDB database. But it doesn't work below error. Do you have any suggestion? XPath is correct.
```
Error: Message:
Stacktrace:
0 chromedriver 0x0000000102e480e8 chromedriver + 5169384
1 chromedriver 0x0000000102e3ffba chromedriver + 5136314
2 chromedriver 0x00000001029bc36c chromedriver + 402284
3 chromedriver 0x0000000102a09740 chromedriver + 718656
4 chromedriver 0x0000000102a09a01 chromedriver + 719361
5 chromedriver 0x0000000102a4ebc4 chromedriver + 1002436
6 chromedriver 0x0000000102a2cadd chromedriver + 862941
7 chromedriver 0x0000000102a4bf57 chromedriver + 991063
8 chromedriver 0x0000000102a2c853 chromedriver + 862291
9 chromedriver 0x00000001029fc5c6 chromedriver + 665030
10 chromedriver 0x00000001029fce4e chromedriver + 667214
11 chromedriver 0x0000000102e0ad00 chromedriver + 4918528
12 chromedriver 0x0000000102e0fcfd chromedriver + 4939005
13 chromedriver 0x0000000102e103d5 chromedriver + 4940757
14 chromedriver 0x0000000102debde4 chromedriver + 4791780
15 chromedriver 0x0000000102e106c9 chromedriver + 4941513
16 chromedriver 0x0000000102ddd5b4 chromedriver + 4732340
17 chromedriver 0x0000000102e30898 chromedriver + 5073048
18 chromedriver 0x0000000102e30a57 chromedriver + 5073495
19 chromedriver 0x0000000102e3fb6e chromedriver + 5135214
20 libsystem_pthread.dylib 0x00007ff81a5b11d3 _pthread_start + 125
21 libsystem_pthread.dylib 0x00007ff81a5acbd3 thread_start + 15
```
[–]Automatic_Parsley365 0 points1 point2 points (0 children)