如果单击链接时elif不起作用,则使用Python Selenium
我正在尝试单击特定日期(如今天)中的所有链接(并获取元素),如果发布(如昨天)则退出 我使用if elif来实现它,但网站只需继续点击链接,不管日期如何,请在此处找到我的代码: 任何帮助都将不胜感激如果单击链接时elif不起作用,则使用Python Selenium,python,html,selenium,if-statement,Python,Html,Selenium,If Statement,我正在尝试单击特定日期(如今天)中的所有链接(并获取元素),如果发布(如昨天)则退出 我使用if elif来实现它,但网站只需继续点击链接,不管日期如何,请在此处找到我的代码: 任何帮助都将不胜感激 dates = [date.get_attribute('innerHTML') for date in driver.find_elements_by_xpath('')] for date in dates: if date == '[01-20]': links =
dates = [date.get_attribute('innerHTML') for date in driver.find_elements_by_xpath('')]
for date in dates:
if date == '[01-20]':
links = [link.get_attribute('href') for link in driver.find_elements_by_xpath('')]
for link in links:
driver.get(link)
next_page = driver.find_element_by_link_text('')
next_page.click()
elif date != '[01-20]':
driver.close()
您可以执行以下操作以打开并返回文本为[01-20]的所有href标记
driver.get('http://www.csisc.cn/zbscbzw/isinbm/index_list_code.shtml')
while True:
hrefs=[link.get_attribute('href') for link in driver.find_elements_by_xpath("//td[text()='[01-20]']/preceding::td[1]/a")]
for href in hrefs:
driver.get(href)
driver.back()
if(len(hrefs)< 20):
break
try:
#next_page = driver.find_element_by_xpath("//font[text()='Next page']/ancestor::a")
next_page = driver.find_element_by_link_text("下一页")
next_page.click()
except:
print('No more pages')
break
driver.get('http://www.csisc.cn/zbscbzw/isinbm/index_list_code.shtml')
尽管如此:
hrefs=[link.get_属性('href')用于驱动程序中的链接。通过_xpath查找_元素(“//td[text()='[01-20]']]/previous::td[1]/a”)]
对于hrefs中的href:
driver.get(href)
司机:回来
如果(len(hrefs)<20):
打破
尝试:
#下一页=驱动程序。通过xpath(“//font[text()='next page']/祖先::a”)查找元素
下一页=驱动程序。通过链接文本(“下一页")
下一页。单击()
除:
打印('没有更多页面')
打破
Hi实际上链接和日期是独立的元素,比如:today news 1/21/2020你可以发布一个你需要抓取的web元素的示例。你是否在options中翻译了页面。不,只是原始页面谢谢你,Arundeep!成功了!如果我只想点击一些包含单词的链接怎么办?每个页面大约有20个链接ge,使用for循环可以驱动程序。通过xpath(“”[index])查找元素,然后单击元素,然后检查其.text值并退出。您好,谢谢!但是我想要一桶单词,比如{“”,“,…},您介意帮我解答我的新问题吗?我详细解释了这个问题。谢谢!