如果单击链接时elif不起作用,则使用Python Selenium

如果单击链接时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 =

我正在尝试单击特定日期(如今天)中的所有链接(并获取元素),如果发布(如昨天)则退出

我使用if elif来实现它,但网站只需继续点击链接,不管日期如何,请在此处找到我的代码:

任何帮助都将不胜感激

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值并退出。您好,谢谢!但是我想要一桶单词,比如{“”,“,…},您介意帮我解答我的新问题吗?我详细解释了这个问题。谢谢!