2016-07-19 5 views
0

を抽出するために、セレンを使用して、私は次のコードスニペットでJavascriptを抽出するためにSeleniumを使用しようとしている:Javaスクリプト

<div id="imageBlock_feature_div" class="feature" data-feature-name="imageBlock"> 
    <div id="imageBlock" class="a-section imageBlockRearch" aria-hidden="true"> 
    <script type="text/javascript"> P.when('A').register("ImageBlockATF", function(A){  var data = {     'colorImages': { 'initial': [{"hiRes":"https://images-na.ssl-images-amazon.com/images/I/61a%2B2tb6CXL._SL1000_.jpg","thumb":"https://images-na.ssl-images-amazon.com/images/I/41jyDJkFNkL._SX38_SY50_CR,0,0,38,50_.jpg","large":"https://images-na.ssl-images-amazon.com/images/I/41jyDJkFNkL.jpg","main":{"https://images-na.ssl-images-amazon.com/images/I/61a%2B2tb6CXL._SX342_.jpg":[342,342],"https://images-na.ssl-images-amazon.com/images/I/61a%2B2tb6CXL._SX385_.jpg":[385,385],"https://images-na.ssl-images-amazon.com/images/I/61a%2B2tb6CXL._SX425_.jpg":[425,425],"https://images-na.ssl-images-amazon.com/images/I/61a%2B2tb6CXL._SX466_.jpg":[466,466],"https://images-na.ssl-images-amazon.com/images/I/61a%2B2tb6CXL._SX522_.jpg":[522,522]},"variant":"MAIN"},{"hiRes":"https://images-na.ssl-images-amazon.com/images/I/619Zy3hzf0L._SL1000_.jpg","thumb":"https://images-na.ssl-images-amazon.com/images/I/51JXxW9-qRL._SX38_SY50_CR,0,0,38,50_.jpg","large":"https://images-na.ssl-images-amazon.com/images/I/51JXxW9-qRL.jpg","main":{"https://images-na.ssl-images-amazon.com/images/I/619Zy3hzf0L._SX342_.jpg":[342,342],"https://images-na.ssl-images-amazon.com/images/I/619Zy3hzf0L._SX385_.jpg":[385,385],"https://images-na.ssl-images-amazon.com/images/I/619Zy3hzf0L._SX425_.jpg":[425,425],"https://images-na.ssl-images-amazon.com/images/I/619Zy3hzf0L._SX466_.jpg":[466,466],"https://images-na.ssl-images-amazon.com/images/I/619Zy3hzf0L._SX522_.jpg":[522,522]},"variant":"PT01"},{"hiRes":"https://images-na.ssl-images-amazon.com/images/I/51xcGG8LrRL._SL1000_.jpg","thumb":"https://images-na.ssl-images-amazon.com/images/I/414dMuEyRJL._SX38_SY50_CR,0,0,38,50_.jpg","large":"https://images-na.ssl-images-amazon.com/images/I/414dMuEyRJL.jpg","main":{"https://images-na.ssl-images-amazon.com/images/I/51xcGG8LrRL._SX342_.jpg":[342,342],"https://images-na.ssl-images-amazon.com/images/I/51xcGG8LrRL._SX385_.jpg":[385,385],"https://images-na.ssl-images-amazon.com/images/I/51xcGG8LrRL._SX425_.jpg":[425,425],"https://images-na.ssl-images-amazon.com/images/I/51xcGG8LrRL._SX466_.jpg":[466,466],"https://images-na.ssl-images-amazon.com/images/I/51xcGG8LrRL._SX522_.jpg":[522,522]},"variant":"PT02"},{"hiRes":"https://images-na.ssl-images-amazon.com/images/I/71KJWQdcOrL._SL1000_.jpg","thumb":"https://images-na.ssl-images-amazon.com/images/I/51iXiwMzdSL._SX38_SY50_CR,0,0,38,50_.jpg","large":"https://images-na.ssl-images-amazon.com/images/I/51iXiwMzdSL.jpg","main":{"https://images-na.ssl-images-amazon.com/images/I/71KJWQdcOrL._SX342_.jpg":[342,342],"https://images-na.ssl-images-amazon.com/images/I/71KJWQdcOrL._SX385_.jpg":[385,385],"https://images-na.ssl-images-amazon.com/images/I/71KJWQdcOrL._SX425_.jpg":[425,425],"https://images-na.ssl-images-amazon.com/images/I/71KJWQdcOrL._SX466_.jpg":[466,466],"https://images-na.ssl-images-amazon.com/images/I/71KJWQdcOrL._SX522_.jpg":[522,522]},"variant":"PT03"},{"hiRes":"https://images-na.ssl-images-amazon.com/images/I/61NrHnYF7fL._SL1000_.jpg","thumb":"https://images-na.ssl-images-amazon.com/images/I/41ETRy5aXsL._SX38_SY50_CR,0,0,38,50_.jpg","large":"https://images-na.ssl-images-amazon.com/images/I/41ETRy5aXsL.jpg","main":{"https://images-na.ssl-images-amazon.com/images/I/61NrHnYF7fL._SX342_.jpg":[342,342],"https://images-na.ssl-images-amazon.com/images/I/61NrHnYF7fL._SX385_.jpg":[385,385],"https://images-na.ssl-images-amazon.com/images/I/61NrHnYF7fL._SX425_.jpg":[425,425],"https://images-na.ssl-images-amazon.com/images/I/61NrHnYF7fL._SX466_.jpg":[466,466],"https://images-na.ssl-images-amazon.com/images/I/61NrHnYF7fL._SX522_.jpg":[522,522]},"variant":"PT04"},{"hiRes":"https://images-na.ssl-images-amazon.com/images/I/61aHhQsYAEL._SL1000_.jpg","thumb":"https://images-na.ssl-images-amazon.com/images/I/41ecNiAOOAL._SX38_SY50_CR,0,0,38,50_.jpg","large":"https://images-na.ssl-images-amazon.com/images/I/41ecNiAOOAL.jpg","main":{"https://images-na.ssl-images-amazon.com/images/I/61aHhQsYAEL._SX342_.jpg":[342,342],"https://images-na.ssl-images-amazon.com/images/I/61aHhQsYAEL._SX385_.jpg":[385,385],"https://images-na.ssl-images-amazon.com/images/I/61aHhQsYAEL._SX425_.jpg":[425,425],"https://images-na.ssl-images-amazon.com/images/I/61aHhQsYAEL._SX466_.jpg":[466,466],"https://images-na.ssl-images-amazon.com/images/I/61aHhQsYAEL._SX522_.jpg":[522,522]},"variant":"PT05"},{"hiRes":"https://images-na.ssl-images-amazon.com/images/I/61NW6qzcM5L._SL1000_.jpg","thumb":"https://images-na.ssl-images-amazon.com/images/I/51qOEqY9CyL._SX38_SY50_CR,0,0,38,50_.jpg","large":"https://images-na.ssl-images-amazon.com/images/I/51qOEqY9CyL.jpg","main":{"https://images-na.ssl-images-amazon.com/images/I/61NW6qzcM5L._SX342_.jpg":[342,342],"https://images-na.ssl-images-amazon.com/images/I/61NW6qzcM5L._SX385_.jpg":[385,385],"https://images-na.ssl-images-amazon.com/images/I/61NW6qzcM5L._SX425_.jpg":[425,425],"https://images-na.ssl-images-amazon.com/images/I/61NW6qzcM5L._SX466_.jpg":[466,466],"https://images-na.ssl-images-amazon.com/images/I/61NW6qzcM5L._SX522_.jpg":[522,522]},"variant":"PT06"},{"hiRes":"https://images-na.ssl-images-amazon.com/images/I/61DOeyBC8GL._SL1000_.jpg","thumb":"https://images-na.ssl-images-amazon.com/images/I/41mEQqSeqXL._SX38_SY50_CR,0,0,38,50_.jpg","large":"https://images-na.ssl-images-amazon.com/images/I/41mEQqSeqXL.jpg","main":{"https://images-na.ssl-images-amazon.com/images/I/61DOeyBC8GL._SX342_.jpg":[342,342],"https://images-na.ssl-images-amazon.com/images/I/61DOeyBC8GL._SX385_.jpg":[385,385],"https://images-na.ssl-images-amazon.com/images/I/61DOeyBC8GL._SX425_.jpg":[425,425],"https://images-na.ssl-images-amazon.com/images/I/61DOeyBC8GL._SX466_.jpg":[466,466],"https://images-na.ssl-images-amazon.com/images/I/61DOeyBC8GL._SX522_.jpg":[522,522]},"variant":"PT07"},{"hiRes":"https://images-na.ssl-images-amazon.com/images/I/61UDOjrJlCL._SL1000_.jpg","thumb":"https://images-na.ssl-images-amazon.com/images/I/51cFjif5LoL._SX38_SY50_CR,0,0,38,50_.jpg","large":"https://images-na.ssl-images-amazon.com/images/I/51cFjif5LoL.jpg","main":{"https://images-na.ssl-images-amazon.com/images/I/61UDOjrJlCL._SX342_.jpg":[342,342],"https://images-na.ssl-images-amazon.com/images/I/61UDOjrJlCL._SX385_.jpg":[385,385],"https://images-na.ssl-images-amazon.com/images/I/61UDOjrJlCL._SX425_.jpg":[425,425],"https://images-na.ssl-images-amazon.com/images/I/61UDOjrJlCL._SX466_.jpg":[466,466],"https://images-na.ssl-images-amazon.com/images/I/61UDOjrJlCL._SX522_.jpg":[522,522]},"variant":"PT08"}]},     'colorToAsin': {'initial': {}},     'holderRatio': 0.77,     'holderMaxHeight': 700,     'weblabs' : {}     };  A.trigger('P.AboveTheFold'); // trigger ATF event.  return data; }); </script> 
    <div id="twister-main-image" class="a-hidden" customfunctionname="(function(id, state){ P.when('A').execute(function(A){ A.trigger('image-block-twister-swatch-hover', id, state); }); });"/> 
    <div id="thumbs-image" class="a-hidden" customfunctionname="(function(id, state, onloadFunction){ P.when('A').execute(function(A){ A.trigger('image-block-twister-swatch-click', id, state, onloadFunction); }); });"/> 
     <span class="edp-feature-declaration" data-resolver="CQResolver" data-position="0" data-edit-data-state="imageBlockEDPEditData" data-display-name="Images" data-custom-event-handler="imageBlockEDPCustomEventHandler" data-feature-container-id="imageBlockEDPOverlay" data-metadata="IMAGE" data-defects="[{"id":"defect-different-product","value":"Doesn\u2019t match product"},{"id":"defect-image-offensive","value":"Offensive or adult content"},{"id":"defect-image-extra-items","value":"Shows additional items"},{"id":"defect-image-not-clear","value":"Is not clear"},{"id":"defect-other-image-issue","value":"Other"}]" data-data-hash="" data-edp-asin="B00JM59JPG" data-edp-feature-name="imageBlock"/> 
    </div> 
</div> 

は基本的には、Firebugの中で私は成功し、次のXPathを使用して要素を識別することができています:

.//*[@id='imageBlock_feature_div']/script 

私は(私はJavaでコーディングしています)SeleniumXPathによって要素を検索しようとしたときしかし、私はNoSuchElementExceptionを取得します。

org.openqa.selenium.NoSuchElementException:要素が見つかりません: { "方法": "ID"、 "選択": ".//*[@ ID = 'imageBlock_feature_div'] /スクリプト"}

私が見ている製品はAmazonです。製品ページからこのテキストを抽出する方法はあり

<script type="text/javascript"> 

私は基本的に始まる行のすべてのテキストを抽出しようとしていますか?

+0

あなたのセレンのJavaコードは表示されませんが、助けが難しいですが、私の推測では要素が表示されるのを待つ必要があります。 – user2272115

答えて

0

あなたはセレンのコードを投稿できますか?

XPATHではなくIDセレクタを使用してみましたか?

WebElement element = driver.findElement(By.id("imageBlock_feature_div")); 
0

私がチェックしているとセレンは私が

driver.get("http://rads.stackoverflow.com/amzn/click/B00JM59JPG"); 
WebElement element=driver.findElement(By.xpath(".//*[@id='imageBlock_feature_div']/script")); 
System.out.println(element.getAttribute("innerText")); 

詳細

のJavaを実行するために使用されてきた

コード私のためにこのようなエラーを投げていない - は1.8.x
をChromeDriver - 2.22
Chrome - 51.0.2x
Selenium - 2.53.1
OS - Windows 7