Selenium(python)切换到弹出面板

2024-04-26 13:49:15 发布

您现在位置:Python中文网/ 问答频道 /正文

我尝试使用Selenium和Python来单击一个文本字段,这将打开一个弹出面板,选择弹出窗口的文本输入区域,并在其中输入文本。在

switch_to_window和{}似乎不起作用。在上一个关于Selenium的问题中,有人告诉我暂停程序,直到我需要的元素可用为止。这个解决方案解决了这个问题,但这个问题没有解决,所以我假设我有一个不同的问题,而且我对Selenium太陌生,无法理解它是什么。在

我要点击的原始框是这样的:

enter image description here

以及该盒的检查元件:

enter image description here

单击“说明”框时,应打开此窗口:

enter image description here

并选择此元素将文本输入到:

enter image description here

所以在我的代码中我有:

descriptionBox = driver.find_element_by_id('kiadvany_fulszoveg_text')
descriptionBox.click()

这不会使程序出错,但它似乎也不会实际单击该元素。为了让事情变得更混乱,我让它只运行了一次,它打开了正确的描述文本框,如上图所示,但此后它就完全不起作用了,即使我尝试了完全相同的事情。在

小组的ID是:

enter image description here

如前所述,使用switch_to_frameswitch_to_window切换到这个面板ID是我首先尝试的,但是我得到了一个No-sus Element错误。在

因为我曾经看到描述框正确打开过一次,但再也没有打开过,所以我假设问题出在这里。我希望,有一次它真的出现了,我试着把文本放到字段中,看看这是否也行得通,但那时我还没有到达那里,所以我不知道这是否有效。在

提前感谢任何能帮忙的人!在


Tags: to文本程序id面板区域元素selenium
1条回答
网友
1楼 · 发布于 2024-04-26 13:49:15

试试这个

 descriptionBox = driver.find_element_by_id('kiadvany_fulszoveg_text')
 driver.execute_script('arguments[0].click();', descriptionBox)

或者

^{pr2}$

相关问题 更多 >