我正在尝试按值选择下拉选项。但是我似乎无法使用点击或类型函数来执行此操作。
我正在使用JsonWireProtocol并只是进行简单的调用,但是我似乎已经坚持了一段时间。
我尝试了以下
$element = $this->get_element('payment-credit-method-cc0-expirationMonth');
$this->click_element($element);
$this->type('payment-credit-method-cc0-expirationMonth', array('U+E015','U+E000','U+E015','U+E000'));
有人可以帮忙吗?
答案 0 :(得分:0)
在选择值之前,请尝试使用WaitForElementPresent()(在您要选择的项目上)。 Selenium试图在它出现之前就找到它。
答案 1 :(得分:0)
你将如何在ruby中做到这一点。 假设您要选择 11月作为月份。
@driver.find_element(:id, "payment-credit-method-cc0-expirationMonth'").find_element(:css,"option[value='11']").click
答案 2 :(得分:0)
我只使用JsonWireProtocol从Selenium 1迁移到Selenium 2.
根据您使用的PHP绑定,我使用Facebook's bindings执行了以下操作。
对您的代码做一些假设。 payment-credit-method-cc0-expirationMonth是您的选择的ID,您选择的月份是11月,其选项值为11
$this->session->element("xpath", "//select[@id='payment-credit-method-cc0-expirationMonth']/option[@value='11']")->click()
我相信你也可以选择“11月”(选项的可见标签)。
$this->session->element("xpath", "//select[@id='payment-credit-method-cc0-expirationMonth']/option[text()='November']")->click()
我用于Se1的绑定有一个$ this-> select()方法,我花了一点时间才意识到我正在做的就是选择一个元素然后点击它:/
答案 3 :(得分:0)
使用Facebook的JsonWireProtocol PHP绑定:
$el=$s->element("css selector", 'select[id="my_id"] option[value="gbp"]');
$el->click();
其中$ s是您的会话。 (来自Github issue)