我试图在Python中使用Selenium选择一个框架。该网页包含许多嵌套在框架集元素下的框架。我尝试使用以下命令选择名为“fraMenu”的框架:
driver.switch_to.frame(driver.find_element_by_name( “fraMenu”))
但是我收到NoSuchElementException并显示错误消息:消息:无法找到元素:$users = User::all();
$object = new \Illuminate\Database\Eloquent\Collection;
$object->add(
[
"name"=>'John',
"status"=>"pending",
"created_at"=> "-0001-11-30 00:00:00",
"updated_at"=> "-0001-11-30 00:00:00",
]
);
// Trying to pull new to the main;
$users->push($object);
完整的代码如下:
[name="fraMenu"]
答案 0 :(得分:1)
您可以使用以下方法实际选择iFrame: -
因此,您可以通过传递有关帧的任何上述信息进行切换。是的,您需要根据需要的操作每次切换
实施例: -
driver.SwitchTo().Frame("top");
....在框架上执行您的操作
driver.SwitchTo().defaultContent();
driver.SwitchTo().Frame("navigation");
....在框架上执行您的操作
driver.SwitchTo().defaultContent();
....
现在你必须找到嵌套框架的层次结构并逐个切换。
使用chrome dev工具并选择您可以看到层次结构的元素..只需从父级切换到子级,直到您的元素无法到达。执行您的操作并切换回默认值
示例: -
希望它会对你有所帮助:)。
答案 1 :(得分:0)
您是否尝试过一段时间才能找到它?也许框架没有时间加载。我建议你从time.sleep(4)
开始,如果它有效,那么试着等到框架加载了预期的条件。