大英航空公司网站是否实施站点预防自动化

问题描述 投票:0回答:2

[在练习Selenium时,我试图使使用自动建议下拉列表的British Airways网站自动化。手动输入几个字母时,下拉菜单将显示建议。自动化时,即使我使用了wait方法,它们也没有。有人告诉我这样的网站将自动化作为安全措施,但是请这样吗?

这是我的代码:

driver.get("https://www.britishairways.com/");
driver.manage().window().maximize();

driver.findElement(By.id("from")).click();
driver.findElement(By.id("from")).sendKeys("tor");
java selenium xpath css-selectors webdriverwait
2个回答
0
投票
要将字符序列发送到网站内的

发件人字段,因为该元素是Angular元素,所以您需要将WebDriverWait用作elementToBeClickable(),并且可以使用以下任一Locator Strategies ]:

    cssSelector

  • driver.get("https://www.britishairways.com/travel/home/public/en_in/"); new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.cssSelector("input#from[name=\"searchEntry\"]"))).sendKeys("tor");
  • xpath
  • driver.get("https://www.britishairways.com/travel/home/public/en_in/"); new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.xpath("//input[@id='from' and @name=\"searchEntry\"]"))).sendKeys("tor");
  • 浏览器快照:

    britishairways    

    0
    投票
    © www.soinside.com 2019 - 2024. All rights reserved.