2017-11-06 14 views
0

Craigslistのスクリプトを自動化しています。ダイアログボックスを開かずに2枚の画像をアップロードしたいここではスクリーンショットがあり、ボタンは「ファイルを選択してください」と言う: enter image description hereファイルボタンを選択しない写真をアップロードする(Selenium、Python、Mac)

私は、次のStackOverflowの記事を参照しています:How to upload file (picture) with selenium, python

しかし、私のコードはまだ機能していません。ここに私のコードです:

from selenium import webdriver 
import os 

driver = webdriver.Chrome() 
driver.get("https://dallas.craigslist.org/") 

# Click on "computer" link 
driver.find_element_by_link_text("computer").click() 
#Post 
driver.find_element_by_link_text("post").click() 
#Gig Offered radion button 
driver.find_element_by_xpath("/html/body/article/section/form/ul/li[2]/label/span[2]").click() 
# I want to hire someone 
driver.find_element_by_xpath("/html/body/article/section/form/label[1]").click() 
#Please choose a category: Computer Gigs" 
driver.find_element_by_xpath("//*[@id='picker']/ul/li[1]/label/span[2]").click() 
# Choose the location 
driver.find_element_by_xpath("/html/body/article/section/form/ul/li[1]/label/input").click() 
# Enter text 
# Enter Posting Title 
posting = driver.find_element_by_id("PostingTitle") 
posting.send_keys("[SEEKING] Parents with Kids who Play Sports. Save Money on College!") 
# Enter Location 
area = driver.find_element_by_id("GeographicArea") 
area.send_keys("Dallas Area") 
# Enter Zip Code 
zipcode = driver.find_element_by_id("postal_code") 
zipcode.send_keys("75001") 
# Enter Body 
body = driver.find_element_by_id("PostingBody") 
body.send_keys("this is a test") 

# No Pay 
driver.find_element_by_xpath("//*[@id='vol_label']/input").click() 
#From Email 
fromemail = driver.find_element_by_id("FromEMail") 
fromemail.send_keys("[email protected]") 

# Confirm Email 
confirmemail = driver.find_element_by_id("ConfirmEMail") 
confirmemail.send_keys("[email protected]") 

# Maps 
driver.find_element_by_id("wantamap").click() 

# Click Continue 
driver.find_element_by_xpath("//*[@id='postingForm']/div/button").click() 

# Use Classic Uploader 
driver.find_element_by_id("classic").click() 

# Select the Image 
driver.find_elements_by_name("file").send_keys(os.getcwd()+"/Desktop/College Athlete/Logo/Logo.png") 

ヒントは素晴らしいでしょう。私も試しました

find_element_by_css_selector.('input[type="file"]') 

...それでも動作しませんでした。

+2

'body.send_keys(「これはテストです)'あなたはしなかった@kstullich終了引用符 – kstullich

+0

が欠落している

は、私は次の行を変更しましたそれを修正してください。 – newcoder

+0

よくあるエラーは何ですか? – kstullich

答えて

0

私は問題を把握しました。私は自分の写真への正しい道を持っていなかったので、失敗していました。私は現在、絶対パスを使用しています。これに

driver.find_elements_by_name("file").send_keys(os.getcwd()+"/Desktop/College Athlete/Logo/Logo.png") 

element = driver.find_element_by_name("file") 
    element.send_keys("/Users/john/Desktop/PycharmProjects/selenium/craigslist/ProfilePicture.png") 
関連する問題