Angularjs Python selenium操作链在Safari中不起作用

Angularjs Python selenium操作链在Safari中不起作用,angularjs,python-3.x,selenium,safari,Angularjs,Python 3.x,Selenium,Safari,我试图在SafariWebDriver上单击SeleniumPython中的一个菜单和一个子菜单。无论我做什么,我似乎都无法让ActionChains做任何事情。我是做错了什么,还是这是Safari的问题 我使用ActionsChain尝试了许多不同的操作,但似乎没有一个有效 ```driver = webdriver.Safari() wait = WebDriverWait(driver, 20) url = "someurl.com" link_text = "link

我试图在SafariWebDriver上单击SeleniumPython中的一个菜单和一个子菜单。无论我做什么,我似乎都无法让ActionChains做任何事情。我是做错了什么,还是这是Safari的问题

我使用ActionsChain尝试了许多不同的操作,但似乎没有一个有效

```driver = webdriver.Safari()
   wait = WebDriverWait(driver, 20)
   url = "someurl.com"
   link_text = "link text"

   driver.get(url)


   driver.maximize_window()
   wait.until(EC.element_to_be_clickable((By.LINK_TEXT, link_text)))
      ActionChains(driver).move_to_element(driver.find_element(By.LINK_TEXT, link_text)).click().perform()

   print('Hello World')```

我希望看到浏览器单击元素,但我只看到程序的终端打印“Hello World”。

您可以尝试使用JavaScript而不是ActionChains单击此处:

element_to_click = wait.until(EC.element_to_be_clickable((By.LINK_TEXT, link_text)))

driver.execute_script(“arguments[0].click();”, element_to_click)

您使用ActionChains而不仅仅是
驱动程序来单击。查找\u元素(By.LINK\u TEXT,LINK\u TEXT)。单击()
?我尝试过这样做,但在执行此操作和获取子菜单时遇到问题。这是有道理的。在这里,执行Javascript可能对您更有帮助。如果您可以发布一些围绕您试图单击的元素的HTML,我们可以尝试找到一个更幸运的解决方案。@SamProschansky您得到的错误是什么?请分享堆栈跟踪。@Christine我想出了一个解决办法。我可以使用出现的动作链,但不在该页面上,因此我使用driver.get导航到链接url。我可以使用下一页上的动作链。如果它一直发生,我会在这里发布。当我这样做时,我得到了这样一个消息:AttributeError:'ActionChains'对象没有属性'build',看起来build()对Python ActionChains无效。我很抱歉,因为其他一些语言确实需要它。我已经更新了答案,尝试使用JavaScript解决方案。