2017-09-18 22 views
-1

私は多くの異なる例を見てきましたが、私の状況にはうまくいかないようです。私は、開いているナビゲーションメニューからクリック可能なdiv要素を選択しようとしています。私は簡単にナビゲーションメニューを選択することができますが、私は、項目を選択すると、私はエラーを取得する:Selenium Webdriver with Pythonを使用してサブメニューから要素を選択する方法

from selenium import webdriver 
from selenium.common.exceptions import NoSuchElementException 
from selenium.webdriver.common.keys import Keys 
import time 


driver = webdriver.Chrome('C:\\Python27\\chromedriver\\chromedriver.exe') 
time.sleep(3) 
driver.get(url) 
driver.maximize_window() 


... 

driver.find_element_by_class_name('navLaunchButton').click() 
time.sleep(2) 

driver.find_element_by_link_text('My Repository').click() #Error happens here (submenu) 

を誰かが助けるてくださいすることができ:ここでは

driver.find_element_by_text('My Repository').click() 
AttributeError: 'WebDriver' object has no attribute 'find_element_by_text' 

は、私が使用しているコードのですか? あなたが与えることができる任意の方向に事前に感謝します。

答えて

1

例外はかなり有益です:find_element_by_text()のような方法はありません。そこ要素(例えば<a>link text</a>)をリンクするために適用することができfind_element_by_link_text() and find_element_by_partial_link_text()がありますが、あなたはそのテキストの内容によって<div>を見つけたい場合は、search by XPathを試すことができます。

driver.find_element_by_xpath("//div[.='My Repository']") # by exact text content 
driver.find_element_by_xpath("//div[contains(., 'My Repository')]") # by partial content 
関連する問題