2017-12-14 16 views
0

https://www.morele.net/loginの "Utwórzkonto"をクリックする方法がわかりません。「a href」を使わずにリンクをクリックする方法[Selenium + Python]

私が試した:

link_registration = driver.find_element_by_class_name("//li[@class = 'el-login-nav register']") 
link_registration.click() 

を私はエラーを取得:

selenium.common.exceptions.InvalidSelectorException: Message: Given css selector expression ".//li[@class = 'el-login-nav register']" is invalid: InvalidSelectorError: './/li[@class = 'el-login-nav register']' is not a valid selector: ".//li[@class = 'el-login-nav register']"

+0

あなたはxpathを渡していますが、 'find_element_by_class_name'を使用しています。 'el-logic-nav register'を渡すことができます。 –

答えて

0

あなたは "クラス名で" ロケータにXPath式を渡そうとしている - それは失敗していない不思議。

I代わりにCSSセレクタを使用します

register = driver.find_element_by_css_selector(".autorization-form .register") 
register.click() 
.autorization-form .register

autorization-formクラスを有する素子内部(任意の深さレベル)registerクラスのどこかを有する要素に一致するであろう。ここのスペースは親子関係を意味しますが、その子は親の中のどのレベルにあってもかまいません。

0

find_element_by_class_name()コマンドを使用したが、xpathで渡されたため、このエラーが発生しています。 find_elements_by_xpath()または別のロケータ機能を使用する必要があります。どちらかが動作するはずです:

driver.find_element_by_xpath("//li[@class = 'el-login-nav register']"); 
driver.find_element_by_css_selector("li.register") 
+0

ええと、私はここにエラーがあります: "selenium.common.exceptions.ElementNotInteractableException:メッセージ:要素が表示されません" –

関連する問題