单击<li>内部<ul>元素时出错



HTML代码如下:

<li class="dropdown span pull-right username">
<a href="#" id="username">…….</a>
<!-- Unauthenticated : This content will only be shown to unauthenticated users-->
<ul class="dropdown-menu signed-in-dropdown">
<!-- Authenticated : This content will only be shown to authenticated users-->
<li><a href="#" rel="WebClientAccount">Manage Account</a></li>
<li><a href="https://content.endicia.com/ContentService/legalterms/" target="_blank">Legal Terms</a></li>                           
<li class="lastItem"><a href="#" rel="StoreSignOut" id="signOutLink">Sign Out</a>
</li>
</ul>
</li>
</ul>

我必须点击用户名(class="下拉框向右拉用户名"(。然后打开下拉菜单,其中有3个选项。我想点击SignOut(id="signOutLink"(

我试过以下内容:

t=driver.find_element(By.ID ,"username")
driver.execute_script("arguments[0].click();",t) 
time.sleep(2)
element = WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "ul#dropdown-menu signed-in-dropdown a[data-value='Sign Out']")))
element.click()

但是得到这个错误:

selenium.common.exceptions.TimeoutException: Message: 
element = WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "ul.dropdown-menu.signed-in-dropdown")))
element.click()
element2 = WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "li.lastItem a#signOutLink")))
element2.click()

只需单击即可打开下拉列表,然后继续单击元素。

ul.dropdownmenu.signed-in-downdown您的css选择器已关闭。#表示ID。是用来上课的。单击下拉列表后,继续单击li.lastItem a#signOutLink。

最新更新