在Python下拉菜单中单击Selenium

2024-10-02 08:17:01 发布

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

我试图完成我的脚本点击我的图片在上角,这导致一个下拉菜单,在那里注销按钮。我可以让Selenium识别图片并单击图片以显示下拉菜单,但我无法让它单击最后一个按钮。在

这是我尝试单击的注销按钮的网站代码:

<a id="ctl00_ctl00_mainContent_MainHeader_HeaderSection_lnkLogout" href="javascript:__doPostBack('ctl00$ctl00$mainContent$MainHeader$HeaderSection$lnkLogout','')"><i class="fa fa-power-off  fa-fw"></i>
                                <span>Log Out</span> </a>

整个代码都放下来了。看起来这是一个我第一次没有意识到的列表,但我记得读到你可以按数字选择列表?在

^{pr2}$

我试着模仿这段代码,有人帮我做了几乎相同的事情:

element = WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "a.hub-content-item[id*='SearchExplorer'][actiontype='Secondary']>span")))

但它不会为我认出来。在


Tags: 代码脚本id列表图片element按钮fa
1条回答
网友
1楼 · 发布于 2024-10-02 08:17:01

你很亲密。<span>标记不是直接子级,因此需要将>替换为空格字符,并且可以使用以下Locator Strategies

  • 使用CSS_SELECTOR

    WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "a[id$='mainContent_MainHeader_HeaderSection_lnkLogout'] span"))).click()
    
  • 使用XPATH

    ^{2美元
  • 注意:您必须添加以下导入:

    from selenium.webdriver.support.ui import WebDriverWait
    from selenium.webdriver.common.by import By
    from selenium.webdriver.support import expected_conditions as EC
    

相关问题 更多 >

    热门问题