selenium webdriver刷新并验证属性是否更改

时间:2016-05-07 18:28:26

标签: python selenium webdriver

我正在尝试使用Python和Selenium webdriver刷新一个页面,直到元素保持启用状态才能单击。唯一的问题是刷新页面并进行验证。 这是一个制定apointment的日历。页面中的代码提取是:

<tr>

<td title="Not able" class="otherMonthDay">30</td>
<td title="Not able" class="otherMonthDay">31</td>
<td title="All busy" class="calendarCellRed">1</td>
<td title="Not able" class="noSelectableDay">2</td>
<td title="All busy" class="calendarCellRed">3</td>
<td title="Not able" class="noSelectableDay">4</td>
<td title="Not able" class="noSelectableDay">5</td>

</tr>

我的代码是:

from selenium import webdriver
import selenium.webdriver.support.ui as ui
from selenium.webdriver.common.keys import Keys

driver = webdriver.Firefox()
alert = driver.switch_to_alert()

driver.get("https://calendar page css")

for i in range (0,20):
   driver.implicitly_wait(2) # seconds
   driver.find_element_by_xpath('//*[@title="Day enabled"]').click()
   driver.refresh()
   alert.accept()

我希望点击刷新页面时启用的日期。

1 个答案:

答案 0 :(得分:0)

我猜测当你执行上面的代码时,你会得到一个 NoSuchElementException

这就是我的代码看起来像:

from selenium import webdriver
import selenium.webdriver.support.ui as ui
from selenium.webdriver.common.keys import Keys

driver = webdriver.Firefox()
driver.implicitly_wait(2)
alert = driver.switch_to_alert()

driver.get("https://calendar page css")

while(True):
   try:
      driver.find_element_by_xpath('//*[@title="Day enabled"]').click()
      driver.refresh()
      alert.accept()
      break
   except Exception as e:
      driver.refresh()
      continue

希望这会有所帮助。如果有任何问题,请告诉我。