Я хочу нажать кнопку «Отправить» на всплывающей странице, используя php web-драйвер. Когда я нажимаю на кнопку, она открывает всплывающее окно подтверждения Boostrap, Теперь я пытаюсь нажать на кнопку в этом всплывающем окне.
Когда я использую xpath для поиска этой кнопки. это становится ниже ошибки.
ElementNotVisibleException: Element is not currently visible and so may not be interacted with
Build info: version: '2.44.0', revision: '76d78cf', time: '2014-10-23 20:02:37'
System info: host: 'DSS-405', ip: '172.16.12.130', os.name: 'Windows 8', os.arch: 'amd64', os.version: '6.2', java.versi
on: '1.7.0_07'
Я новичок в скриптинге веб-драйверов. Пожалуйста, кто-нибудь, помогите мне.
Обновить снимок кода
class LoginTest extends PHPUnit_Framework_TestCase {
/**
* @var \RemoteWebDriver
*/
protected $webDriver;
public function setUp()
{
$capabilities = array(\WebDriverCapabilityType::BROWSER_NAME => 'firefox');
$this->webDriver = RemoteWebDriver::create('http://localhost:4444/wd/hub', $capabilities);
}
protected $url = 'http://mywebsite.com/user.html';
public function testLogin() {
$this->webDriver->get($this->url);
$confirmBtn = $this->webDriver->findElement(WebDriverBy::xpath('//*[@id="userCommand"]/div[2]/div[2]/button')) ;
$confirmBtn->click();
}
?>
Попробуйте использовать
driver.switchTo().activeElement() //java code. But should be easy to convert
а затем найти отменить или же согласна кнопку и нажмите. Обязательно дождитесь появления всплывающего подтверждения.
Попробуйте подождать, пока кнопка не станет активной.
public function testLogin() {
$this->webDriver->get($this->url);
$confirmBtn = $this->webDriver->wait()->until(
WebDriverExpectedCondition::elementToBeClickable(
WebDriverBy::xpath('//*[@id="userCommand"]/div[2]/div[2]/button')
)
);
$confirmBtn->click();
}
Вы пробовали, driver.switchTo (). Alert?
Ниже приведен синтаксис Java:
Alert alert=driver.switchTo().alert().
alert.accept() //for accepting the conformation message.
alert.dismiss() //for cancelling the conformation message.