我想选择第一个下拉列表,然后是第二个,但我连第一个都应付不了 请解释为什么我会收到错误
<?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/