1

[ファイルを選択]/[参照]などのボタンを含むオーバーレイを含むWebページを見ています。以下はページの抜粋です。

<form name = "form1" method = "post" action = "UploadPhoto.aspx?PhotoUploaderFor=1" id = "form1" enctype = "multipart/form-data">
<div>...</div>
<div class = "popup-form photoUploader">
 <div class = "group data-row">
  <label>...</label>
  <input type ="file" name = "FileUpload1" id = "FileUpload1" class = "browse_file">

Watirには、テストサイト(www.tinypic.com)で試したファイルのアップロードを処理できるfile_fieldsがあり、コントロールはそこで正常に機能します。

b.file_fields.exists? 

trueを返します

ただし、上記のスニペットで見ているページでは、

 b.file_fields.exists? 

falseを返します

形のせいかと思ったので試してみました

b.form(:name => "form1").file_fields.exists?

これもfalseを返しますボタン自体に直接アクセスしようとすると、これもfalseを返します

b.element(:xpath => "//input [@name = 'FileUpload1']").exists?

誰かアイデアはありますか?

編集

フォームはiframe内にあります

<iframe id="Step1_Banner1_Popup_Photo_Photo_Iframe_PhotoUploader" class="photoUploaderFrame" scrolling="no" src="../MSReport3/UserControls/UploadPhoto.aspx?PhotoUploaderFor=1">
#document
 <!DOCTYPE html PUBLIC "-//W3C//DTD CHTML 1.0 .....">
  <html xmlns = "http://www.w3.org/1999/xhtml">
   <head>...</head>
   <body>
   <code from above goes here>
4

1 に答える 1

0

注:(うまくいけば)この質問に回答済みのタグを付けることができるように、コメントから解決策を投稿しています。

オーバーレイはフレーム内にあり、メソッドチェーンを介してフレームを指定する必要があります。例えば:

b.frame(:id => "Step1_Banner_Popup_Photo_Photo_Iframe_PhotoUploader").file_field.exists?
于 2012-12-19T18:23:14.893 に答える