2017-08-09 125 views
0

我一直在試圖理解如何切換到框架集使用py-selenium無濟於事。如何使用Python Selenium切換到框架集?

我在這裏指出的網站與我正在處理的Web應用程序非常相似。 https://www.quackit.com/html/tutorial/frame_example_frameset_1.html

理想情況下,我想訪問此圖像中的元素-1,然後移動到第二幀並訪問元素-2。

image

+1

[選擇使用Python硒的iframe可能的重複](https://stackoverflow.com/questions/7534622/selecting-an-iframe-using-python-selenium) – DJK

+0

謝謝你回覆比爾貝爾。不過,我正在看一個框架,而不是iframe。我能夠跨越python selenium將元素標識爲框架的iframe。但標籤框架集和框架src被標識爲框架。 – Chan8211

+0

那不是我。 :)我看了看HTML,可以看到它包含了幾個'frame'元素。這就是爲什麼我覺得有理由改變你問題中的文字。 –

回答

0

這是一種方法。

加載初始頁面。使用xpath表達式來查找兩個frame元素。對於他們每個人來說,都會得到它的網址。現在,您可以再次使用driver.get(對於每個url)加載與該幀對應的頁面,然後找到您想要的p元素。

>>> from selenium import webdriver 
>>> driver = webdriver.Chrome() 
>>> driver.get('https://www.quackit.com/html/tutorial/frame_example_frameset_1.html') 
>>> for frame in driver.find_elements_by_xpath('.//frame'): 
...  frame.get_attribute('src') 
...  
'https://www.quackit.com/html/tutorial/frame_example_left.html' 
'https://www.quackit.com/html/tutorial/frame_example_right.html' 

有任何問題,請提出。如果這樣做是你想要的,請將答案標記爲「接受」,因爲這是SO上的協議。

+0

嘿比爾,這工作! ('/ html/frameset/frame [1]')driver.switch_to_frame(frame1) – Chan8211

+0

Yup(「quackit.com/html/tutorial/frame_example_frameset_1.html」)frame1 = driver.find_element_by_xpath( )那是一種可能性。我正在尋找答案儘可能簡單的答案。 –

相關問題