JSt*_*tew 3 python selenium xpath
我正在尝试找到位于另一个窗口中打开的窗口中的元素的xpath,以便在selenium的python脚本中使用.
该页面本质上是一个框架,在其中托管另一个页面(想想浏览器窗口中的浏览器).
我可以在外部浏览器窗口中找到窗口本身的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]
我已尝试使用所有这些方法,但无法在内页上选择元素.
这是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
Run Code Online (Sandbox Code Playgroud)
您必须将控制权切换到iframe内部,然后尝试与webelement进行交互
iframe = driver.find_elements_by_tag_name('iframe')[0]
driver.switch_to_frame(iframe)
Run Code Online (Sandbox Code Playgroud)
并从iframe出来回到主窗口
driver.switch_to_default_content()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2265 次 |
| 最近记录: |