我试图在python中使用selenium来测试开发网页的功能。
此网页有几个重复ID /名称的实例。
例如:
<input class="" name="title1" type="text">
这行代码重复进行,但链接到整个代码中的不同输入字段。
因此,当我尝试使用以下方法测试网页时
driver.find_element_by_name("elname").send_keys("BOb")
它似乎正在寻找代码中名称的第一个实例,而不是专注于当前屏幕并输入我想要的输入。此屏幕不是窗口。所以我无法切换到窗口。
有没有办法让驱动程序只关注当前屏幕?
答案 0 :(得分:1)
是&#34;当前屏幕&#34;真的是一个浏览器警报,还是只是html设计为看起来像浏览器窗口中的对话框?它确实是HTML,那么这些单独的输入元素可能会让父母拥有唯一的名称。
<div id="first_dialog"><input class="" name="title1" type="text"></div>
所以你会限制你的搜索:
driver.find_element_by_id("first_dialog").find_element_by_name("elname").send_keys("BOb")
答案 1 :(得分:0)
如果您的目标是与焦点中的当前元素进行交互,请使用driver.switch_to.active_element
。这将返回您可以与之交互的当前活动元素。