通过Python使用Selenium webdriver单击javascript元素时出现问题
希望有人能帮我指出正确的方向。我正在登录防火墙并尝试单击一个javascript按钮,该按钮位于使用Python和Firefox webdriver的框架中 首先,我要做的是: 抱歉,无法嵌入图像,因为这是我的第一篇文章 切换到框架后,我可以通过xpath找到元素,没有错误,这告诉我我在正确的位置通过Python使用Selenium webdriver单击javascript元素时出现问题,python,selenium,webdriver,Python,Selenium,Webdriver,希望有人能帮我指出正确的方向。我正在登录防火墙并尝试单击一个javascript按钮,该按钮位于使用Python和Firefox webdriver的框架中 首先,我要做的是: 抱歉,无法嵌入图像,因为这是我的第一篇文章 切换到框架后,我可以通过xpath找到元素,没有错误,这告诉我我在正确的位置 driver.switch_to_frame("outlookFrame") element = driver.find_element_by_xpath('//*[@id="nav_head2_t
driver.switch_to_frame("outlookFrame")
element = driver.find_element_by_xpath('//*[@id="nav_head2_textbox"]/a')
没有错误
当我点击:
driver.find_element_by_xpath('//*[@id="nav_head2_textbox"]/a').click()
我得到一个例外:
ElementNotVisibleException: Message: Element is not currently visible and so may not be interacted with
有什么好处?如果我切换回父帧,那么我甚至找不到xpath
还有几件事要补充。我可以在web浏览器中看到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>
您试图单击的按钮是否在屏幕上可见?可能它被某个东西阻止了,或者必须执行任何其他操作才能显示此按钮?是的,在观看web浏览器处理命令和随后的故障时,我可以自己在生成的浏览器中手动单击该按钮。没有其他按钮需要在手动之前单击。您好。我对Python和selenium非常陌生。我正试图在框架内点击JS按钮。你介意发布完整的代码吗,这样我就可以进行反向工程并进一步工作了?会有很大帮助的!
driver.find_element_by_xpath('/html/body/div[2]/div/div[4]/div[7]/div/a').click()