0
私はPython 2.7でSelenium 3.4.3を使用してWebフォームに記入し、生成されたCSVファイルをダウンロードしています。 Chromedriverを使用すると、スクリプトはすべて終了しますが、ダウンロードフォルダのファイルは10494_20170829000000.csv.crダウンロードのようになり、0kbになります。これはChromeとPythonシェルを閉じると変更されません。私はデフォルトのダウンロードディレクトリを変更しようとしましたが、常にC:/ downloadsに行き、常にcrdownload拡張子を持っています。Python Selenium Chromedriverファイルのダウンロードが機能しない
driver = webdriver.Chrome(executable_path='C:\Python27\ArcGISx6410.3\Scripts\chromedriver.exe')
driver.get(url)
def find_by_xpath(locator):
element = WebDriverWait(driver, 10).until(
EC.presence_of_element_located((By.XPATH, locator))
)
return element
class FormPage(object):
def fill_form(self, data):
find_by_xpath('//input[@name = "h_UserName"]').send_keys(data['h_UserName'])
find_by_xpath('//input[@name = "h_Password"]').send_keys(data['h_Password'])
find_by_xpath('//input[@name = "h_go"]').click()
find_by_xpath('//select[@name = "dldataformat"]').send_keys(data['dldataformat'])
find_by_xpath('//select[@name = "startyear"]').send_keys(data['startyear'])
find_by_xpath('//select[@name = "startmonth"]').send_keys(data['startmonth'])
find_by_xpath('//select[@name = "startday"]').send_keys(data['startday'])
find_by_xpath('//input[@name = "duration"]').click()
find_by_xpath('//select[@name = "endyear"]').send_keys(data['endyear'])
find_by_xpath('//select[@name = "endmonth"]').send_keys(data['endmonth'])
find_by_xpath('//select[@name = "endday"]').send_keys(data['endday'])
return self # makes it so you can call .submit() after calling this function
def submit(self):
find_by_xpath('//input[@name = "cmd"]').click()
data = {
'h_UserName':'',
'h_Password':'',
'dldataformat': '0',
'startyear': '2017',
'startmonth': '8',
'startday': '29',
'endyear': '2017',
'endmonth': '8',
'endday': '30'
}
FormPage().fill_form(data).submit()
driver.quit() # closes the webbrowser
「WebElements」をクリックせずにダウンロードするにはどうすればよいですか? 'click()'メソッドはどこで呼び出されますか?あなたが見ている '10494_20170829000000.csv.crdownload'は前の実行の結果かもしれません。 – DebanjanB
'' driver.get(url) 'の後に' time.sleep(30) 'を置くのはどうですか? –
投稿完了スクリプト –