Python分裂器无法点击页面上的css元素

时间:2016-04-30 01:07:45

标签: python python-2.7 splinter

我正在尝试使用旅行网站自动预订 分裂并且无法点击页面上的css元素。

这是我的代码

import splinter
import time

secret_deals_email = {
    'user[email]': 'adf@sad.com'
}

browser = splinter.Browser()
url = 'http://roomer-qa-1.herokuapp.com'
browser.visit(url)
click_FIND_ROOMS = browser.find_by_css('.blue-btn').first.click()
time.sleep(10)
# click_Book_button = browser.find_by_css('.book-button-row.blue-btn').first.click()
browser.fill_form(secret_deals_email)
click_get_secret_deals = browser.find_by_name('button').first.click()
time.sleep(10)
click_book_first_room_list = browser.find_by_css('.book-button-row-link').first.click()
time.sleep(5)
click_book_button_entry = browser.find_by_css('.entry-white-box.entry_box_no_refund').first.click()

问题是每当我运行它并且代码到达我需要点击我想要的购买类型的页面。我无法点击页面上的任何选项。

无论我该怎么做,我都会收到不存在的元素的错误。

http://roomer-qa-1.herokuapp.com/hotels/atlanta-hotels/ramada-plaza-atlanta-downtown-capitol-park.h30129/44389932?rate_plan_id=1&rate_plan_token=6b5aad6e9b357a3d9ff4b31acb73c620&

这是导致我麻烦的页面的链接,请帮助:)。

1 个答案:

答案 0 :(得分:0)

您需要知道该元素出现在网站上。您可以使用带有while循环的is_element_not_present_by_css方法来执行此操作

while not(is_element_not_present_by_css('.entry-white-box.entry_box_no_refund')):
  time.sleep(50)