为什么"ActionsChains"方法在Selenium for python中对我不起作用?



我正在尝试运行一个简单的python程序来输入搜索关键字,然后在新选项卡中使用Google使用Selenium的"I am feel lucky"打开该链接。

问题是context_click()方法不执行任何操作。 它甚至没有显示任何错误。来自ActionsChains的click()方法也不起作用(没有错误但没有效果(。但简单的webelement.click()确实有效。 法典:

import  selenium
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.action_chains import ActionChains
opts = Options()
driver=webdriver.Chrome(r"chromedriver")
opts.add_argument('--headless')
driver.get("https://www.google.com/")
act = ActionChains(driver)
driver.find_element_by_id('lst-ib').send_keys("some_search_word_that_doesnt_have_suggestions")
webelem=driver.find_element_by_name('btnI')
act.context_click(webelem)

我也一直在尝试使用 opts.add_argument('--headless'( 在无头模式下运行它,但即使这样也根本不起作用(没有错误,但窗口仍然弹出(。(感谢对此的快速修复(

您需要将以下行添加到代码末尾。

act.perform()

从文档 https://selenium-python.readthedocs.io/api.html#module-selenium.webdriver.common.action_chains

调用 perform(( 时,事件将按排队顺序触发。

请注意,您的代码会打开上下文菜单(右键单击(,如果您确实要单击该按钮,请使用:

act.click(webelem)

最新更新