从下拉列表中选择一个选项,该选项在h上打开

2024-05-16 00:28:25 发布

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

Please find the attached image with its original HTML需要帮助您从悬停时打开的下拉列表中选择一个选项,这是我当前正在查看的html,或者您可以查看所附图像-

<ul id="yui_3_7_0_4_1390312781452_393" class="dropdown-menu">

<li id="yui_3_7_0_4_1390312781452_392" class="action" value="4001">

    Promising

</li>
<li class="action" value="4003">

    In Discussion

</li>
<li class="action" value="4004">

    Phone screen

</li>
<li class="action" value="4005">

    Interview

</li>
<li class="action" value="4006">

    Offered

</li>
<li class="action" value="4007">

    Hired

</li>

这是我正在尝试的代码-

^{pr2}$

Tags: in图像id列表valuehtml选项action
3条回答

使用CSS选择器,您可以通过执行以下操作来单击它:

driver.find_element_by_css_selector("ul.dropdown-menu[id^='yui'] li[value='4006']").click()

试试这个(ref:http://allselenium.info/mouse-over-actions-using-python-selenium-webdriver/

from selenium.webdriver.common.action_chains import ActionChains

action = ActionChains(driver)

firstLevelMenu = driver.find_element_by_id("yui_3_7_0_4_1390312781452_393") #id of menu, or xpath of menu, whatever
action.move_to_element(firstLevelMenu).perform()

secondLevelMenu = driver.find_element_by_xpath("XPATH_OF_OFFERED")
action.move_to_element(secondLevelMenu).perform()

secondLevelMenu.click()

为了实现问题中提到的下拉菜单选择,你必须先将鼠标悬停在下拉菜单上,然后将鼠标悬停在元素上进行选择,然后点击该元素。以下是Java代码,但逻辑将帮助您在Python中实现:

WebElement dropDownMenu = driver.findElement(By.id("yui_3_7_0_4_1390312781452_393"));
WebElement elementToSelect = driver.findElement(By.xpath(".//li[contains(text(), 'Offered')"));

Actions action = new Actions(driver);
action.moveToElement(dropDownMenu).moveToElement(elementToSelect).click().build().perform();

相关问题 更多 >