php - Selenium-webdriver 下拉列表不工作 php

标签 php css selenium selenium-webdriver html-select

我想选择第一个下拉列表,然后是第二个,但我连第一个都应付不了 请解释为什么我会收到错误

<?php
require_once "phpwebdriver/WebDriver.php";
$webdriver = new WebDriver("localhost", "4444");
$webdriver->connect("firefox");                            
$webdriver->get("http://namami.org/PKstate.aspx");
//$element = $webdriver->findElement('css selector', 'select[id="DdlState"] option[value="Assam"]');
$element = $webdriver->findElement("css selector", 'select[id="DdlState"] option[value="Assam"]')->click();
//$element=$webdriver->findElement(By.cssSelector("#DdlState")).click();
//$element->‌​click();
$webdriver->close();
?>

fatal error :在第 7 行调用 C:\xampp\htdocs\temp\1.php 中未定义的方法 WebDriver::findElement()

我找不到答案。使用 XAMPP。 我将不胜感激你的帮助。 问候安东

最佳答案

您很可能需要延迟点击。

您尝试使用 Selenium 获取的元素是由 Javascript 生成的,我认为正在发生的事情是 Selenium 正在尝试寻找尚未完全呈现的内容。

尝试调用 sleep(1); 延迟 Selenium 操作并查看是否有效:

<?php
require_once "phpwebdriver/WebDriver.php";
$webdriver = new WebDriver("localhost", "4444");
$webdriver->connect("firefox");                            
$webdriver->get("http://namami.org/PKstate.aspx");
sleep(1); // allow the javascript some time to load
//$element = $webdriver->findElement('css selector', 'select[id="DdlState"] option[value="Assam"]');
//$element = $webdriver->findElement("css selector", 'select[id="DdlState"] option[value="Assam"]')->click();
////$element=$webdriver->findElement(By.cssSelector("#DdlState")).click();
////$element->‌​click();
//$webdriver->close();
//?>

关于php - Selenium-webdriver 下拉列表不工作 php,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20459760/

相关文章:

html - CSS 在定价表中添加列

javascript - Jquery 追加 div 到新的 div

java - 不存在类型变量 V 的实例,因此 ExpectedCondition<Boolean> 符合 Function<? super WebDriver,V> 使用 Selenium 3.13.0 时出错

java - 使用 selenium 实现两个类到第三个类的功能的架构

cssSelector 的 Selenium WebDriver 问题

php - 切换数据库 jQuery 的结果

php - 自定义帖子类型事件菜单项

html - 使用 css 带阴影的三 Angular 形

php - 如何解析url响应?

php - mySQL 获取数据到关联数组