嗨,我正在尝试在 OSSIM 网站中制作测试应用程序我在 python 2.7 中使用 selenium 和 firefox 当网站打开时,我需要访问 iframe,我这样做是这样的:记住这个 html:
<iframe id="main" name="main" src="/ossim/forensics/base_qry_main.php?clear_allcriteria=1&num_result_rows=-1&submit=Query+DB&current_view=-1&sort_order=time_d&time%5B0%5D%5B0%5D=+&time%5B0%5D%5B1%5D=%3E%3D&time%5B0%5D%5B2%5D=04&time%5B0%5D%5B3%5D=21&time%5B0%5D%5B4%5D=2018&time%5B0%5D%5B5%5D=12&time%5B0%5D%5B6%5D=&time%5B0%5D%5B7%5D=&time%5B0%5D%5B8%5D=+&time%5B0%5D%5B9%5D=+&time_range=day&m_opt=analysis&sm_opt=security_events" style="visibility: visible; height: 2543px;"></iframe>
我像这样访问框架
driver.switch_to.frame(driver.find_element_by_name('main'))
到目前为止一切顺利,现在我找到了我需要单击的按钮:
我需要点击 adv_search_button ,这很简单,所以我这样做:
driver.find_element_by_id('adv_search_button').click()
问题来了,某种框架出现在我需要的表单中,但不知道如何访问我知道出现的表单是这样的:
$('#adv_search_button').click(function(){
GB_show("Búsqueda avanzada","/forensics/base_qry_form.php", 550, 900);
return false;
经过多次尝试,我放弃了自己尝试解决的方法,尝试使用katalon自动化记录器来获得一个想法,但我不明白它是如何做到的。(但它正在工作)这是我可以的硒代码'不翻译成python:
selenium.open("URL")
selenium.selectFrame("index=0")
selenium.click("id=adv_search_button")
selenium.selectFrame("relative=parent")
selenium.selectFrame("index=1") -< Here is where i want to be , to get the code and interact with the website.
我试过这样做:
driver.switch_to.frame("index=0")
这是我得到的错误。
>>> driver.switch_to.frame("index=0")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Python27\lib\site-packages\selenium\webdriver\remote\switch_to.py", l
ine 87, in frame
raise NoSuchFrameException(frame_reference)
selenium.common.exceptions.NoSuchFrameException: Message: index=0