当前位置: 首页 > 面试题库 >

用于在python,硒中切换帧的函数

缪征
2023-03-14
问题内容

我正在寻找一种功能,可以更轻松地在两个帧之间切换。现在,每次需要在帧之间切换时,我都会通过以下代码进行操作:

driver.switch_to.frame(driver.find_element_by_css_selector("frame[name='nav']"))

driver.switch_to.frame(driver.find_element_by_css_selector("frame[name='content']"))

我的目标是获得一个仅接受参数即可更改nav或content的函数,因为其余的基本相同。

我已经尝试过的是:

def frame_switch(content_or_nav):
x = str(frame[name=str(content_or_nav)] #"frame[name='content_or_nav']"
driver.switch_to.frame(driver.find_element_by_css_selector(x))

但这给我一个错误

 x = str(frame[name=str(content_or_nav)]
                  ^

SyntaxError:语法无效


问题答案:

编写方式就是尝试将CS​​S代码解析为Python代码。你不要那样

此功能适合:

def frame_switch(css_selector):
  driver.switch_to.frame(driver.find_element_by_css_selector(css_selector))

如果您只是尝试根据name属性切换到框架,则可以使用以下方法:

def frame_switch(name):
  driver.switch_to.frame(driver.find_element_by_name(name))

要切换回主窗口,您可以使用

driver.switch_to.default_content()


 类似资料:
  • 问题内容: 我正在寻找一种功能,可以更轻松地在两个帧之间切换。现在,每次需要在帧之间切换时,我都会通过以下代码进行操作: 我的目标是获得一个仅接受参数即可更改nav或content的函数,因为其余的基本相同。 我已经尝试过的是: 但这给我一个错误 SyntaxError:语法无效 问题答案: 编写方式是将CSS代码解析为Python代码。你不要那样 此功能适用于: 如果您只是尝试根据属性切换到框架

  • 问题内容: 正如教程向我展示的那样,我已经在最初的几个脚本上构建了一个不错的GUI,但是没有一个脚本解决更复杂的程序的问题。 如果在打开屏幕上有带有“开始菜单”的内容,并且在用户选择后移动到程序的其他部分并适当地重画屏幕,那么执行此操作的优雅方法是什么? 是否只是一个“开始菜单”框架,然后创建一个新的窗口小部件,并填充另一部分的小部件?并在他们按下“后退”按钮时逆转此过程? 问题答案: 一种方法是

  • 我是python和selenium的新手,我正在尝试在选项卡之间切换,我已经尝试使用普通的键盘命令,ActionChains和Keys.CONTROL,但它不起作用,我将如何做到这一点。程序如下

  • 我想用Python对数据进行切片。分割数据帧的基本任务会给我带来意想不到的错误。 我的代码是: 代码应显示第二列的第二行。 错误消息: 文件“pandas_libs\hashtable_class_helper.pxi”,第1500行,在pandas中_图书馆。哈希表。PyObjectHashTable。get_项键错误:(1,1) 在处理上述异常期间,发生了另一个异常: 回溯(最近一次调用):文

  • #include <stdio.h> int func1(int a) { return 2 * a; } int func2(int a) { int c = 0; c = 2 * func1(a); return c; } int func3(int a) { int c = 0; c = 2

  • 问题内容: 在和之间切换的最有效方法是什么? 问题答案: 使用NOT的解决方案 如果值是布尔值,最快的方法是使用 not 运算符: 用减法求解 如果值是数字,则从总数中减去是切换值的一种简单快捷的方法: 使用XOR的解决方案 如果值在 0 和 1 之间切换,则可以使用按位异或: 该技术可以推广到任意一对整数。异或一步被替换为预异常数: (此想法由Nick Coghlan提交,后来由@zxxc推广。