专注于当前的Screen Selenium

时间:2016-02-29 19:31:17

标签: python selenium

我试图在python中使用selenium来测试开发网页的功能。

此网页有几个重复ID /名称的实例。

例如:

<input class="" name="title1" type="text">

这行代码重复进行,但链接到整个代码中的不同输入字段。

因此,当我尝试使用以下方法测试网页时

driver.find_element_by_name("elname").send_keys("BOb") 

它似乎正在寻找代码中名称的第一个实例,而不是专注于当前屏幕并输入我想要的输入。此屏幕不是窗口。所以我无法切换到窗口。

有没有办法让驱动程序只关注当前屏幕?

2 个答案:

答案 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。这将返回您可以与之交互的当前活动元素。