2

我正在尝试使用 selenium 将 Google plus 用户添加到我的圈子中的程序。我已经能够找到添加到圈子按钮并将其悬停,以便显示一个下拉菜单。但是,在您悬停之前,包含我的圈子的动态 div 容器不在 dom 树中。由于某种原因,selenium 无法看到悬停后创建的动态框中的项目的 xpath。有谁知道为什么这不起作用?我尝试了许多不同的搜索、xpath 方法,因此当前 selenium 浏览器对象中似乎不存在 div。

下面的代码实际上悬停在盒子上,但我不能从那里做任何事情。

hoverBox = browser.find_element_by_xpath('//*[@id="contentPane"]/div/div[2]/div/div/div[1]/div/div[3]/div[1]/div[2]/div/div[1]/div/div/div/div/span')
hover = ActionChains(browser).move_to_element(hoverBox)
hover.perform()
4

1 回答 1

0
import org.openqa.selenium.JavascriptExecutor;

导入以上。

public static String executeScript(WebDriver driver, String scriptToExecute)
{
  JavascriptExecutor executor = (JavascriptExecutor) driver;
  Object obj = executor.executeScript(scriptToExecute);
  if(obj != null)
  {
    return obj.toString();
  }
  else
  {
    return "";
  }
}

你可以传递任何类似于 "$('.context_menu').show()" 的脚本

于 2013-07-08T10:11:45.517 回答