Selenium点击隐藏按钮

问题描述 投票:0回答:2

我想用selenium和python控制网页

Python code;

menu = browser.find_element_by_css_selector(".nav")
hidden = browser.find_element_by_link_text('Soluton')
element = browser.find_element_by_xpath("//div[@class=\"two-columns\"]")
Option 1: ActionChains(browser).move_to_element(menu).click(hidden)
Option 2 : ActionChains(browser).move_to_element(element).click(hidden)

html code;

Please visit this image

我想点击导航菜单下的“解决方案”按钮。

但是,解决方案位于导航菜单下。所以它是隐藏的。

所以,我输入以下代码;

 Option 1:

ActionChains(browser).move_to_element(menu).click(hidden)

 Option 2 :

ActionChains(browser).move_to_element(element).click(hidden)

但是selenium没有发生任何事情,也没有给出任何错误信息。如何使用selenium单击导航菜单下的按钮?

谢谢

python selenium selenium-webdriver
2个回答
1
投票

如果我已经了解你的Question和你的Requirement我们需要Mouse Hover超过WebElement文本为Actions,其中2个选项弹出RequestSolution,你想在click()Solution。为此,您可以使用以下代码块:

#import
from selenium.webdriver.common.action_chains import ActionChains
#code block
menu = driver.find_element_by_xpath("//a[@class='incident-action']/i[@class='icon-ellipsis-h']")
ActionChains(driver).move_to_element(menu).perform()
driver.find_element_by_xpath("//div[@class='action-list' and @id='header-actions-list']//a[@class='icon-arrow' and contains(text(),'Solution')]").click()

0
投票

您可以尝试单击Actions以使操作列表可见,然后单击所需的Solution选项:

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

actions = wait(driver, 10).until(EC.element_to_be_clickable((By.LINK_TEXT, "Actions")))
actions.click()
solution = wait(driver, 10).until(EC.element_to_be_clickable((By.LINK_TEXT, "Solution")))
solution.click()
© www.soinside.com 2019 - 2024. All rights reserved.