2013-06-12 59 views
2

我試圖找到位於另一個窗口中打開的窗口中用於硒的python腳本的元素的xpath。如何在另一個「框架窗口」內的窗口中找到元素的xpath

該頁面本質上是一個框架,內部託管了另一個頁面(比如瀏覽器窗口中的瀏覽器)。

我可以在外部瀏覽器窗口中找到窗口本身的xpath,但我似乎無法使用xpath來選擇內部窗口上的任何元素。

這是選擇我想要的元素的整體xpath。

/html/body/div/div[2]/table/tbody/tr/td[2]/form/div/div/div/div/div/table[2]/tbody/tr/td/div/div/div/div/div[2]/div/span/iframe/html/body/table/tbody/tr/td/div[3]/div[2]/div[2]/table/tbody/tr/td[2]/div/a[1]

選擇內窗口的XPath是:

/html/body/div/div[2]/table/tbody/tr/td[2]/form/div/div/div/div/div/table[2]/tbody/tr/td/div/div/div/div/div[2]/div/span/iframe

的XPath來選擇內窗口內的項目(如直接內窗口的頁面上)是:

/html/body/table/tbody/tr/td/div[3]/div[2]/div[2]/table/tbody/tr/td[2]/div/a[1]

我試過使用所有這些我thods,但一直沒有能夠選擇內頁上的元素。

這裏是Python代碼:

survivorFrame = driver.find_elements_by_xpath(".//*[@id='theSurvivorIframe']")[0] 
    driver.switch_to_frame(survivorFrame) 
    elem1 = driver.find_elements_by_xpath(".//*[@id='lea1_ileinner']/a[1]") 
    survivorOwner = re.search('>(.*)<', elem1) 
    print elem1 
    print survivorOwner 

回答

4

你必須控制切換到iframe中,然後嘗試,並與webelement

iframe = driver.find_elements_by_tag_name('iframe')[0] 
driver.switch_to_frame(iframe) 

互動,出來的iframe回主窗口

driver.switch_to_default_content() 
+0

這類作品的ID。嘗試在切換到iframe後選擇元素後,該元素只顯示爲[] – JStew

+0

共享所有Python代碼,在您的問題 – Amey

+0

我有用代碼編輯我的問題。 – JStew

0

嘗試使用這樣的:

driver.switch_to.frame(driver.find_element_by_id('yourframeid')); 

其中yourframeid是你的框架或iframe

相關問題