我正在尝试使用在页面上单击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=6b5ad6e9b357a3d9ff4b31acb73c620&
这是给我带来麻烦的页面链接,请帮忙:)。
您需要whait,直到元素出现在网站上。您可以使用is_element_not_present_by_css方法和while循环来完成
while not(is_element_not_present_by_css('.entry-white-box.entry_box_no_refund')):
time.sleep(50)