【问题标题】:How to click on SELECT ROOM button on https://www.goibibo.com/hotels using Selenium and Java如何使用 Selenium 和 Java 在 https://www.goibibo.com/hotels 上单击 SELECT ROOM 按钮
【发布时间】:2020-10-31 22:53:27
【问题描述】:

我需要使用 Selenium 和 Xpath 在this 网页上单击 Select Room 按钮。但是,我尝试过的选择器似乎都不起作用。

//button[contains(text(), 'Select')]

不会起作用,因为它不是唯一的。

【问题讨论】:

  • 您要点击哪个选择房间?如果你说还有更多?给我们更多细节。
  • @KunLun 我正在编辑问题。我想点击第一个。这是一个酒店预订网站,输入位置后,您会得到一个选项列表。我们需要选择第一个选项,它会显示 View N 个房间,然后我们需要在显示的第一个房间上单击 Select Room。请帮忙。
  • 你试过(//button[contains(text(), 'Select')])[1]吗?
  • @KunLun 是的,运行脚本时似乎不起作用。
  • 你能告诉我们你尝试运行的代码吗?

标签: java selenium xpath css-selectors webdriverwait


【解决方案1】:

您是否尝试过使用“选择房间”按钮的 Xpath?

#try this
#insert the xpath of the "Select Room" button element

button = driver.find_element_by_xpath().click()

【讨论】:

    【解决方案2】:

    要点击 SELECT ROOM 按钮以选择第一个 房间类型,您需要将 WebDriverWait 用于 elementToBeClickable(),您可以使用以下任一 @987654322 @:

    • cssSelector:

      driver.get("https://www.goibibo.com/hotels/sterling-ooty-elk-hill-hotel-in-Ooty-2300020804682931682/?hquery=%7B%22ci%22:%2220200715%22,%22co%22:%2220200716%22,%22r%22:%221-2-0%22,%22ibp%22:%22v3%22%7D&hmd=dacdbc1b43518ece5284c57e889be4a87cc77193f605a25ed4ddbe075bfe72b50c00212e846ffe0c4d7c14c0c2e99e1f40aca6cc0f778c8744e79e26f88866c20ebbd2cee32e2b6cf2c8b5af0de595bae20e654d05992eb728f7ddf37568b56d5c81bb8ac295450b84325b36e5120e8a6c03a734f1db8b74774fdff16746415297313331343db0030c5fc7459538a2014739addf9286645500cac56ad4f8c63de9aa897df81e7b5c4a65a87cb547f68c67f73b28ab81b51b5c7eb9f44b74bbeb13e8f020604d6a6122c86b4ac1988d80e57a2632e518ee111133feebf7fc7b19dc7ca235d802fc3723de2910739aa363191808950f137910bc50af1b78aefe5f7cb119732470e54ceae95944fe242a583e96e7e68ed5618ddbb9f3df324bddee3639f3fe60a0b43aae1903c5c70296b3f530f37909cfed64d6bac2db1529e3759c957d466f83bd58380f3d18ebd39a58195250cdff3970687780870948e8&cc=IN");
      new WebDriverWait(driver, 10).until(ExpectedConditions.elementToBeClickable(By.cssSelector("button[class^='RoomFlavorstyles__ButtonWrapper']"))).click();
      
    • xpath:

      driver.get("https://www.goibibo.com/hotels/sterling-ooty-elk-hill-hotel-in-Ooty-2300020804682931682/?hquery=%7B%22ci%22:%2220200715%22,%22co%22:%2220200716%22,%22r%22:%221-2-0%22,%22ibp%22:%22v3%22%7D&hmd=dacdbc1b43518ece5284c57e889be4a87cc77193f605a25ed4ddbe075bfe72b50c00212e846ffe0c4d7c14c0c2e99e1f40aca6cc0f778c8744e79e26f88866c20ebbd2cee32e2b6cf2c8b5af0de595bae20e654d05992eb728f7ddf37568b56d5c81bb8ac295450b84325b36e5120e8a6c03a734f1db8b74774fdff16746415297313331343db0030c5fc7459538a2014739addf9286645500cac56ad4f8c63de9aa897df81e7b5c4a65a87cb547f68c67f73b28ab81b51b5c7eb9f44b74bbeb13e8f020604d6a6122c86b4ac1988d80e57a2632e518ee111133feebf7fc7b19dc7ca235d802fc3723de2910739aa363191808950f137910bc50af1b78aefe5f7cb119732470e54ceae95944fe242a583e96e7e68ed5618ddbb9f3df324bddee3639f3fe60a0b43aae1903c5c70296b3f530f37909cfed64d6bac2db1529e3759c957d466f83bd58380f3d18ebd39a58195250cdff3970687780870948e8&cc=IN");
      new WebDriverWait(driver, 10).until(ExpectedConditions.elementToBeClickable(By.xpath("//button[contains(., 'Select')]"))).click();
      

    【讨论】:

      猜你喜欢
      • 2021-10-08
      • 2021-03-29
      • 1970-01-01
      • 2020-10-03
      • 2012-08-23
      • 2018-08-01
      • 1970-01-01
      • 2020-12-31
      • 2013-05-07
      相关资源
      最近更新 更多