2017-07-05 12 views
0

私はすべてを試しました。 xpath、css-selector、クラス名でも。セレンのセレンのリンクをクリックすると問題が発生します。

//*[@id="opbox-listing"]/div/div/section[2]/section/article[5]/div/div/div[2]/h2/a 
thats look xpath , but don't work 

私はthatsの方法を試してみました:

 driver.findElement(By.xpath("//*[@id=opbox-listing']/div/div/section[2]/section/article[5]/div/div/div[2]/h2/a")).submit(); 


     driver.findElement(By.xpath("//*[@id=opbox-listing']/div/div/section[2]/section/article[5]/div/div/div[2]/h2/a")).click(); 

私が間違って何をすべきか?誰かが何か考えている?

+1

Chromeのデベロッパーコンソールを使用して、xpathをテストするには '$ x("あなたのxpathをここに ")'します。それがそこで動作しない場合は、xpathに問題があります。それが動作する場合は、iframeや別の問題がある可能性があります(長いxpathsはかなり壊れやすいです)。 @DeanW。 –

+0

クロムの私のxpathは、セレンの中で動作しません.. –

答えて

0

方法1次のいずれかの方法

を使用して要素をクリックして試してみてください:

Actions action = new Actions(driver); 
action.moveToElement(<your WebElement>).click().perform(); 
開くアポストロフィは id値のために不足しています

方法2:

JavascriptExecutor js = (JavascriptExecutor)driver; 
js.executeScript("arguments[0].click();", <your WebElement>); 

これは回避策に過ぎません。あなたが答えを見つけるのに役立つ通常のセレンのクリック操作を実行中に取得している例外を提供してください。

2

あなたのxpathが壊れている:

"//*[@id='opbox-listing']/div/div/section[2]/section/article[5]/div/div/div[2]/h2/a" 
+0

大丈夫、私はそれを修正しましたが、それでも同じ問題です、多分あなたは現場で見る? https://allegro.pl/listing?string=brama&order=p&bmatch=sa-base-relevance-floki-5-nga-hou-1-2-0511 –

+0

別のxpathを試してください: '// div [@ id = 'opbox -listing '] // h2 // a [contains(。、' ')] ' - 必要なリンクテキストを挿入するだけです(部分テキストかもしれません)。 –

+0

最初のxpathがアポストロフィで固定されていると動作します。この問題は、この要素をクリックしようとしている間、ページが完全に読み込まれていないことが原因です。 [明示的な待ち時間](http://www.seleniumhq.org/docs/04_webdriver_advanced.jsp#explicit-waits)を参照してください –

関連する問題