Using selenium to get element by id in python testing -
in html code below:
<div class="collapse navbar-collapse" id="b-menu-1"> <ul class="nav navbar-nav navbar-right"> <li><a href="/accounts/login/">sign in</a></li> <li><a href="/accounts/signup/">sign up</a></li> {% if request.user.is_authenticated or logged_in %} <li class="dropdown"> <a href="#" class="dropdown-toggle" data-toggle="dropdown"> <span class="glyphicon glyphicon-user"></span><b class="caret"></b></a> <ul class="dropdown-menu"> <li><a href="/accounts/manageaccount/">manage account</a></li> <li><a href="/accounts/createprofile/">create profile</a></li> <li><a href="/accounts/viewprofile/">view profile</a></li> <li><a href="/accounts/editprofile/">edit profile</a></li> <li><a href="/accounts/logout/" id="logout">log out</a></li> </ul> </li> <li data-toggle="modal" data-target="#my-modal-box" class="active"> <a href="#"><span class="glyphicon glyphicon-search"> search</a></li> </ul> </div>
i want select logout button appears in selector in nav bar.
i tried getting element name , id etc nothin worked out.
elem2 = self.driver.find_element_by_id("logout") elem2.send_keys(keys.return)
i explicitly added id in href link logout , not grab element. suggestion how can logout element
i below exception:
nosuchelementexception: message: u'unable locate element: {"method":"id","selector":"logout"}' ; stacktrace: @ firefoxdriver.prototype.findelementinternal_ (file:///tmp/tmpphm5s7/extensions/fxdriver@googlecode.com/components/driver_component.js:8905) @ firefoxdriver.prototype.findelement (file:///tmp/tmpphm5s7/extensions/fxdriver@googlecode.com/components/driver_component.js:8914) @ delayedcommand.prototype.executeinternal_/h (file:///tmp/tmpphm5s7/extensions/fxdriver@googlecode.com/components/command_processor.js:10884) @ delayedcommand.prototype.executeinternal_ (file:///tmp/tmpphm5s7/extensions/fxdriver@googlecode.com/components/command_processor.js:10889) @ delayedcommand.prototype.execute/< (file:///tmp/tmpphm5s7/extensions/fxdriver@googlecode.com/components/command_processor.js:10831)
got selenium / firefox: command ".click()" doesn't work found element
def javascript_manual_click(driver, element_id): = driver.find_element_by_id(element_id) driver.execute_script("arguments[0].click();", we) javascript_manual_click("logout")
Comments
Post a Comment