Python Selenium 找不到元素标题 (xpath)
Python Selenium Can't find element title (xpath)
from selenium import webdriver
from selenium.webdriver.support.ui import Select
from bs4 import BeautifulSoup
import collections
import datetime
browser = webdriver.Chrome()
browser.get('https://libcal.library.ucsb.edu/rooms.php?i=12405')
browser.find_element_by_link_text('18').click() #selects date
browser.find_element_by_xpath('//*[@title="2314, 12:00am to 12:30am, Thursday, October 18, 2018"]').click()
我正在尝试查找标题与我的代码中所述相同的元素。它基本上是选择房间可用的时间段,但我不能通过这个 xpath 来完成。我想让它在不同的日子可重复,并且 ID 每天都在变化。
<a href="#" class="lc_rm_a" data-seq="36825101" id="647749313"
onclick="return showBookingForm(this.id,'2314','12:00am - 12:30am,
Thursday, October 18, 2018', '30');" style="width: 30px; float:left;
display:block;" title="2314, 12:00am to 12:30am, Thursday, October 18,
2018"> </a>
这将完美运行:
from selenium import webdriver
browser = webdriver.Chrome()
browser.implicitly_wait(2)
browser.get('https://libcal.library.ucsb.edu/rooms.php?i=12405')
browser.find_element_by_link_text('17').click()
code = '2574'
time = '1:00am to 1:30am'
date = browser.find_element_by_xpath('//*[@id="s-lc-rm-tg-h"]').text
browser.find_element_by_xpath('//*[@title="' + code + ', ' + time + ', ' + date + '"]' ).click()
browser.close()
但是,请不要忘记,如果该元素不可点击(房间不可用),您将收到错误消息。请记住这一点!
from selenium import webdriver
from selenium.webdriver.support.ui import Select
from bs4 import BeautifulSoup
import collections
import datetime
browser = webdriver.Chrome()
browser.get('https://libcal.library.ucsb.edu/rooms.php?i=12405')
browser.find_element_by_link_text('18').click() #selects date
browser.find_element_by_xpath('//*[@title="2314, 12:00am to 12:30am, Thursday, October 18, 2018"]').click()
我正在尝试查找标题与我的代码中所述相同的元素。它基本上是选择房间可用的时间段,但我不能通过这个 xpath 来完成。我想让它在不同的日子可重复,并且 ID 每天都在变化。
<a href="#" class="lc_rm_a" data-seq="36825101" id="647749313"
onclick="return showBookingForm(this.id,'2314','12:00am - 12:30am,
Thursday, October 18, 2018', '30');" style="width: 30px; float:left;
display:block;" title="2314, 12:00am to 12:30am, Thursday, October 18,
2018"> </a>
这将完美运行:
from selenium import webdriver
browser = webdriver.Chrome()
browser.implicitly_wait(2)
browser.get('https://libcal.library.ucsb.edu/rooms.php?i=12405')
browser.find_element_by_link_text('17').click()
code = '2574'
time = '1:00am to 1:30am'
date = browser.find_element_by_xpath('//*[@id="s-lc-rm-tg-h"]').text
browser.find_element_by_xpath('//*[@title="' + code + ', ' + time + ', ' + date + '"]' ).click()
browser.close()
但是,请不要忘记,如果该元素不可点击(房间不可用),您将收到错误消息。请记住这一点!