通过Python使用Selenium webdriver单击javascript元素时出现问题

2024-09-27 04:24:26 发布

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

希望有人能帮我指出正确的方向。我登录到一个防火墙,并尝试单击一个javascript按钮,该按钮位于使用Python和firefoxwebdriver的框架中。在

首先我要做的是: http://i.imgur.com/5X8jEkb.png

(抱歉,无法嵌入图像,因为这是我的第一篇文章)

切换到框架之后,我可以通过xpath找到元素,没有任何错误,这说明我在正确的位置。在

driver.switch_to_frame("outlookFrame")
element = driver.find_element_by_xpath('//*[@id="nav_head2_textbox"]/a')

没有错误

当我单击:

^{pr2}$

我有个例外:

ElementNotVisibleException: Message: Element is not currently visible and so may not be interacted with

什么给予?如果我切换回父帧,那么我甚至找不到xpath。在

有几件事需要补充。我可以在网络浏览器中看到javascript按钮。在

使用DOM检查器可以显示JS按钮的以下XML:

<div xmlns="http://www.w3.org/1999/xhtml" class="nav_item" id="nav_head2_on" style="display: block;"><div id="nav_head2_textbox"><a class="nav_sub_sett" target="tabFrame" onclick="javascript:hiLight(this);" href="systemSettingsView.html">Settings</a></div>

编辑 好的,我通过使用从Firebug中提取的完整XPATH成功地实现了它。但仍不确定为什么较短的路径不起作用:

driver.find_element_by_xpath('/html/body/div[2]/div/div[4]/div[7]/div/a').click()

Tags: div框架idhttpbydriver错误element

热门问题