我希望能够通过下载使用selenium和phpunit点击链接。我不知道如何让它发生,任何人都可以向我展示示例或相关教程,帖子或任何可以帮助我弄清楚的东西。
当我尝试点击元素而不将鼠标放在下拉列表上时出现此错误:
元素目前不可见,因此可能无法与命令进行交互....
感谢。
编辑: 当我说"下降"我并不是指经常选择。它更像弹出窗口 你可以在这里看到这个例子: http://investing.com
看看他们如何构建菜单我希望能够点击'技术' - > '斐波那契计算器'例如。
答案 0 :(得分:0)
查看此帖子: Selenium: How to select an option from a select menu?
您可以找到有关此here
的更多信息select(selectLocator, optionLocator)
Arguments:
selectLocator - an element locator identifying a drop-down menu
optionLocator - an option locator (a label by default)
Select an option from a drop-down using an option locator.
Option locators provide different ways of specifying options of an HTML Select element (e.g. for selecting a specific option, or for asserting that the selected option satisfies a specification). There are several forms of Select Option Locator.
label=labelPattern: matches options based on their labels, i.e. the visible text. (This is the default.)
label=regexp:^[Oo]ther
value=valuePattern: matches options based on their values.
value=other
id=id: matches options based on their ids.
id=option1
index=index: matches an option based on its index (offset from zero).
index=2
If no option locator prefix is provided, the default behaviour is to match on label.
致Dave Hunt的信用
我用的是什么:
$search13 = $this->webDriver->findElement(WebDriverBy::id('id_of_dropdown_field'));
$search13->click(); // Clicking on the dropdownfield
$this->webDriver->getKeyboard()->pressKey('ARROW_DOWN'); // Will go down in your dropdown selection )
sleep(1);
$this->webDriver->getKeyboard()->pressKey('ENTER'); // Enter for submitting your selection
编辑: http://www.anitpatel.net/2012/02/25/selenium-webdriver-how-to-click-on-a-hidden-link-or-menu/ 这个在java中解释它,但基本上他做的是鼠标悬停/等待。 然后他点击元素。 我不是一个java天才,但它是一个如何使用它的例子。
您可以使用:
string mouseOver(string $locator)
这模拟用户将鼠标悬停在指定元素上。 http://docs.tadiavo.com/phpunit/www.phpunit.de/pocket_guide/3.1/en/selenium.html
答案 1 :(得分:0)
使用所需选项值的xpath检查元素是否可见。
$this->isElementPresent($xpath);
$this->click($xpath);
如果为true,则click()方法选择指定的选项。