2016-05-03 11 views
1

Firefox用のSelenium WebドライバとSelenium IDEプラグインを使用しています。Seleniumとのベアテキストリンクを選択/クリックできないのはなぜですか?

私がしようとしているのは、言語ページで「米国」をクリックすることです。

http://www.nike.com/language_tunnel

私は(ストレートIDEレコーダーから)これをしようとしています:最初のステップの作品は、それが「AMERICAS」をクリックすること

driver.find_element_by_xpath("(//button[@type='button'])[2]").click() 
driver.find_element_by_link_text("United States").click() 

ますが、最後のステップは、「上をクリックしますPythonで実行するとエラーが出る:

Unable to locate element: {"method":"link text","selector":"United States"} 

私はここで間違っていますか?このリンクを選択する別の方法はありますか?リンクテキストによる検索はここではうまくいきません。ここで

答えて

1

私はそれを動作させるためにやったものです:

  • li.US a CSSセレクタにロケータを変更し
  • は「US」リンク
  • の可視性を待つ待機を追加

コード:

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 


driver = webdriver.Firefox() 
driver.maximize_window() 
driver.get("http://www.nike.com/language_tunnel") 

wait = WebDriverWait(driver, 10) 

driver.find_element_by_xpath("(//button[@type='button'])[2]").click() 
wait.until(EC.visibility_of_element_located((By.CSS_SELECTOR, "li.US a"))).click() 
関連する問題