2016-10-24 3 views
0

上の要素内の要素を見つけるのを助ける必要があります。Pythonのセレン:私は、私はそれと対話するために、自動タスクのWebページ上の要素を見つけようとしていますAutotask.net

私は要素内を検索するには、次のコードを使用しています:

header=driver.find_element_by_css_selector('html') 
body=header.find_element_by_css_selector('body') 
body1=body.find_element_by_css_selector('#WorkspaceContainer') 
body1.find_element_by_css_selector('#WorkspaceContainer > div:nth-child(1)') 
body2=body1.find_element_by_css_selector('#WorkspaceContainer > div:nth-child(1)') 
body2.find_element_by_css_selector('#PageContainer') 
body3=body2.find_element_by_css_selector('#PageContainer') 
body3.find_element_by_css_selector('#PageContainerFrame') 
body4=body3.find_element_by_css_selector('#PageContainerFrame') 
body4.find_element_by_css_selector('html') 
body5=body4.find_element_by_css_selector('html') 
body5.find_element_by_css_selector('body') 
body6=body5.find_element_by_css_selector('body') 

私は首尾よくそれらをナビゲートされたようですが、見えたが、それは例外で、この行で失敗:

body4.find_element_by_css_selector('html') 

selenium.common.exceptions.NoSuchElementException: Message: Unable to locate element: {"method":"css selector","selector":"html"} 

私は、マウスの動き使用していましたサイトと対話するためにpyautoguiモジュールを介してクリックしていますが、要素自体とのやり取りがより信頼できると言われてきました。誰も助けることができますか?

+0

要素を検索したいiframeはありますか? – table

答えて

2

iframe内の要素を処理しようとしているようです。

body3.switch_to_frame('PageContainerFrame') 
body3.find_element_by_css_selector('html') 

P.S.:あなたが最初にこのフレームに切り替える必要があり、これを行うには

1つの要素だけを処理する必要がある場合は、親要素から子要素まで連続してステッピングするのではなく、相対XPathを直接ポインティングすることをお勧めします。

+0

私のxpathはid( 'Table6')/ x:tbody/x:tr/x:td [3]/x:a – MrGlass

+0

私のコードに書き込む方法は不明です。 – MrGlass

+0

処理したい要素はどれですか?それはボタンか単なるリンクですか?それを説明して、ページ上でそれを検索することができます – Andersson

関連する問題