【问题标题】:how to click a hidden link under submenu?如何点击子菜单下的隐藏链接?
【发布时间】:2013-07-25 06:23:10
【问题描述】:

我未能获得<ul> 下的隐藏链接。 driver.find_element_by_link_text('5641B07'),代码是可以的,但是如果我想找到其他链接,找不到它们,比如'5641CM6' 谁能告诉我如何点击隐藏链接?以及如何从<ul> 获取所有链接?

<ul> 结构类似:

<ul>
  <li> <a> XXX</a> </li>
  <li> <a> YYY</a> </li>
  <li> 
    <a>Add software</a>
    <ul>
      <li> <a> A </a> </li>
      <li> <a> B </a> </li>
      <li> <a> C </a> </li>
      ...........
      <li> <a> Z </a> </li>
    </ul>
   </li>

from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
driver=webdriver.Firefox()
driver.get("https://www-01.ibm.com/products/hardware/configurator/americas/bhui/launchNI.wss")
driver.find_element_by_id("modelnumber").send_keys('8038AC1')
driver.find_element_by_name("submit").click()
driver.find_element_by_id("continueTop").click()
el_addSoftware=driver.find_element_by_link_text('Add software')
builder=ActionChains(driver)
builder.move_to_element(el_addSoftware).perform()
driver.find_element_by_link_text('5641CM6').click()

【问题讨论】:

    标签: python selenium html-lists


    【解决方案1】:

    这不是一个正常的下拉菜单。

    你可以使用这样的东西

    WebUtilities.executeScript(driver, "$('.context_menu').show()");
    

    用你各自的css选择器替换'.context_menu'

    列表显示后单击所需选项。

    【讨论】:

    • 我不确定它是不是 context_menu,因为 html 资源中没有类似的关键字。
    • 试试 WebUtilities.executeScript(driver, "$('#yui-gen4 a').show()");
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多