【发布时间】:2014-11-08 02:52:23
【问题描述】:
我有一个代码可以点击网页上的一个按钮,它会弹出一个menubar。我想从出现的选项中选择menuitem,然后选择clickmenuitem(如果可能);但是,我遇到了障碍。
这里是到目前为止代码的相关部分:
from selenium import webdriver
driver = webdriver.Chrome()
driver.get('URL')
Btn = driver.find_element_by_id('gwt-debug-BragBar-otherDropDown')
Btn.click() #this works just fine
MenuItem = driver.find_element_by_id('gwt-uid-463') #I'm stuck on this line
MenuItem.click()
根据我写的内容,这是它抛出的错误:
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.NoSuchElementException: Message: no such element
注意:每次页面加载时,此元素的 id 似乎都会发生变化(这可能是错误的原因)。我也尝试通过find_element_by_class_name 搜索元素,但它有一个复合类名,我也一直在那儿出错。
这是menubar的代码:
<div class="gux-combo gux-dropdown-c" role="menubar" id="gwt-debug-BragBar-otherMenu">
还有我想要的menuitem:
<div class="gux-combo-item gux-combo-item-has-child" id="gwt-uid-591" role="menuitem" aria-haspopup="true">text</div>
我正在寻找一种方法来选择menuitem。谢谢!
【问题讨论】:
标签: python python-2.7 selenium selenium-webdriver menuitem