我对我写的Selenium Python代码有疑问。 该网站有一堆时间段,我试图模拟鼠标点击,专门针对8:30-11:30的时间段。
以下是html:
的摘录 <div class="item-link" onclick="$('#SelectedStartTime').val('2015/10/16 08:30:00');$('#frmTimes').submit();">
<div class="item">
<div class="title">8:30 AM-11:30 AM
<span class="available">(Spaces: <strong class="num">20</strong>)</span>
</div>
</div>
</div>
<div class="item-link" onclick="$('#SelectedStartTime').val('2015/10/16 09:00:00');$('#frmTimes').submit();">
<div class="item">
<div class="title">9:00 AM-12:00 PM
<span class="available">(Spaces: <strong class="num">20</strong>)</span>
</div>
</div>
</div>
</body>
</html>
我已尝试定位&#34; 8:30 AM-11:30 AM&#34;文本,
Time0830 = driver.find_elements_by_class_name("title")
for each in Time0830:
if "8:30 AM-11:30 AM" in each.text:
each.click()
break
for each in Time0830:
if each.text == "8:30 AM-11:30 AM"
each.click()
break
两者都没有做任何事情。
我还尝试根据this question定位onclick。
Time0830 = driver.find_element_by_xpath('.//div[contains(@onclick,"8:30 AM-11:30 AM")]')
print (Time0830)
Time0830.click()
这导致错误:NoSuchElementException
Time0830 = driver.find_element_by_css_selector("div[onclick*='8:30 AM-11:30 AM']")
print(Time0830)
Time0830.click()
这也导致Error: NoSuchElementException
。
我需要做些什么才能让它发挥作用?
修改!! 感谢您对xpath帮助的帮助。我认为问题还在于我无法点击它。 我一直在使用.click(),但它已不再使用了。 我的代码现在是:
time.sleep(1.5)
Time0830 = driver.find_element_by_xpath('//div[@class = "item-link" and .//div[@class = "title" and contains(text(),"8:30 PM-11:30 PM")]]').click()
但页面仍然没有移动。我有时间考虑加载时间。 我没有点击()尝试过,似乎找到了一个元素。我找到了错误的元素,还是使用了错误的函数?
答案 0 :(得分:0)
您如何将div
与item-link
类匹配,该类具有div
元素的8:30 AM-11:30 AM
元素:
//div[@class = "item-link" and .//div[@class = "title" and contains(., "8:30 AM-11:30 AM")]]