2017-08-20 9 views
0

Googleで新しいページ(「bugs bunny」を検索した後)のリンク「Images」をクリックしています。検索の画像を取得するのではなく、古いページのリンク「Images」を開いています。新しいページでSeleniumを使用してリンクを開く

マイコード:

import time 
from selenium import webdriver 
from selenium.webdriver.common.by import By 
from selenium.webdriver.support.ui import WebDriverWait 
from selenium.webdriver.support import expected_conditions as EC 
from selenium.webdriver.common.keys import Keys 

browser = webdriver.Firefox() 
browser.get('http://www.google.com') 

search = browser.find_element_by_name('q') 
search.send_keys("bugs bunny") 
search.send_keys(Keys.RETURN) # hit return after you enter search text 
browser.current_window_handle 
print(browser.current_url) 
browser.find_element_by_link_text("Images").click() 
+0

です。 Firefoxの最新バージョンで試してください –

+0

それは検索結果で新しいページを開きません!最新のFirefoxにアップグレードした後でさえ – user3289968

+0

戻ってからいくつかのスリープを入れてから試してみてください –

答えて

1

あなたの問題は、アクションを実行すると、あなたはそれがほとんどそれをやっているclickを使用するのであれば、その後

search.send_keys(Keys.RETURN) # hit return after you enter search text 

を待っていないsend_keysを、使用していますさ結果がロードされていない場合でも現在のページに表示されます。だから、結果を変更するには、結果がロードされたら、あなたはクリック

を行うことができ、リターンキーのためのいくつかの遅延を追加する必要があるので、あなたが必要なもの、これは正常に動作している私にとっては簡単なsleep遅延

関連する問題