栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

从Datepicker获取可用性

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

从Datepicker获取可用性

我可以使用它,

driver.execute_script('$( "a.ui-datepicker-next").click()')
因为其他所有东西都给了我
ElementNotVisibleException
,然后我注意到其中涉及到Javascript

<a  data-handler="next" data-event="click" title="Próximo>"><span >Próximo&gt;</span></a>

我宁愿不使用

Javascript
jQuery
直接使用,所以如果有人有更好的建议,我可以尝试一下。

但是仍然有一些怪癖,例如,每次我获得某个月的可用性时,我都必须手动重置日历。

这是我的最终代码:

def homeaway(self):    MONTH_COUNT = 6    display = Display(visible=0, size=(1024, 768))    display.start()    driver = webdriver.Firefox()    driver.maximize_window()    wait = WebDriverWait(driver, 10)    url = 'https://www.homeaway.pt/arrendamento-ferias/p1418427a?uni_id=1590648'    driver.get(url)    count = 0    for month in range(MONTH_COUNT):        # pick start date        start_date = wait.until(EC.visibility_of_element_located(( By.CSS_SELECTOR, ".quotebar-container input[name=startDateInput]")))        start_date.click()        for x in range(count): driver.execute_script('$( "a.ui-datepicker-next" ).click()')        current_month = driver.find_element_by_css_selector( ".ui-datepicker-month").text        print("current_month:", current_month)        first_available_date = wait.until(EC.element_to_be_clickable( (By.CSS_SELECTOR, "#ui-datepicker-div td.full-changeover > a")))        ActionChains(driver).move_to_element(first_available_date).perform()        driver.find_element_by_css_selector( "#ui-datepicker-div td.full-selected.full-changeover > a").click()        # pick end date (TODO: violates DRY principle, refactor!)        end_date = wait.until(EC.visibility_of_element_located( (By.CSS_SELECTOR,  ".quotebar-container input[name=endDateInput]")))        end_date.click()        first_available_date = wait.until(EC.element_to_be_clickable( (By.CSS_SELECTOR, "#ui-datepicker-div td.full-changeover > a")))        ActionChains(driver).move_to_element(first_available_date).perform()        driver.find_element_by_css_selector( "#ui-datepicker-div td.full-selected.full-changeover > a").click()        # get the calculated price        price = wait.until(EC.visibility_of_element_located( (By.CSS_SELECTOR, ".price-quote .price-total")))        print(price.text.enpre('ascii', 'ignore'))        driver.execute_script('$( "button.ui-datepicker-clear" ).click()')        count += 1    driver.close()


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/409558.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号