【问题标题】:Problem with selenium to find hidden button硒问题找到隐藏按钮
【发布时间】:2020-10-21 11:29:36
【问题描述】:

大家好,我正在尝试查找并单击网页上似乎隐藏的按钮:https://www.thetrainline.com/book/results?origin=69b59b70a73b72302eff45627aeef377&destination=f0269e87c1084b4e752e4cd5bbf6e062&outwardDate=2020-10-23T18%3A00%3A00&outwardDateType=departAfter&journeySearchType=single&passengerDiscountCards%5B0%5D=903ab66d2652ac9cc3e75bf63f3120cd3fecbbe2&passengers%5B0%5D=1995-10-21%7C617e5009-9253-42e9-a5d9-3e78934d9607&selectedOutward=cIcpW5313Ao%3D%3A5pIf0wIdti0%3D%3AStandard&lang=fr

下面的代码可以点击右上角的“1 jeune (0-25) Ajouter une carte”按钮,然后点击“Ajouter cartes et abonnements”按钮,“SNCF - Abonnements”,但我无法点击“Abonnement” TGV max”按钮,一旦列表出现。

from selenium import webdriver

driver = webdriver.Chrome('/Users/macsamy/Downloads/chromedriver') 

driver.get('https://www.thetrainline.com/book/results?origin=69b59b70a73b72302eff45627aeef377&destination=f0269e87c1084b4e752e4cd5bbf6e062&outwardDate=2020-10-23T18%3A00%3A00&outwardDateType=departAfter&journeySearchType=single&passengerDiscountCards%5B0%5D=903ab66d2652ac9cc3e75bf63f3120cd3fecbbe2&passengers%5B0%5D=1995-10-21%7C617e5009-9253-42e9-a5d9-3e78934d9607&selectedOutward=cIcpW5313Ao%3D%3A5pIf0wIdti0%3D%3AStandard&lang=fr') 


card = driver.find_element_by_class_name('_1m8f79NaN')
card.click() 

abonnement = driver.find_element_by_class_name('_bwmpdt')
abonnement.click()

tgv = driver.find_elements_by_class_name('_1ntnz22')[1]
tgv.click()

tgv_max = driver.find_element_by_class_name('_nyjqe2')
tgv_max.click()

我尝试了很多方法,例如 xpath 或使用 js 命令,但我无法解决问题。我是这个领域的新手,所以我感到有点失落。你有什么想法可以解决这个问题吗?

【问题讨论】:

    标签: python selenium button hidden findelement


    【解决方案1】:

    对于“SNCF - Abonnements”,您可以使用driver.find_element_by_class_name('_1ntnz22')

    对于“Abonnement TGV max”,您可以通过 xpath 找到文本 driver.find_element_by_xpath('//*[text()="Abonnement TGVmax"]')

    使用ActionChains点击。

    请看以下代码:

    from selenium import webdriver
    from selenium.webdriver import ActionChains
    
    driver = webdriver.Chrome('/Users/macsamy/Downloads/chromedriver') 
    
    driver.get('https://www.thetrainline.com/book/results?origin=69b59b70a73b72302eff45627aeef377&destination=f0269e87c1084b4e752e4cd5bbf6e062&outwardDate=2020-10-23T18%3A00%3A00&outwardDateType=departAfter&journeySearchType=single&passengerDiscountCards%5B0%5D=903ab66d2652ac9cc3e75bf63f3120cd3fecbbe2&passengers%5B0%5D=1995-10-21%7C617e5009-9253-42e9-a5d9-3e78934d9607&selectedOutward=cIcpW5313Ao%3D%3A5pIf0wIdti0%3D%3AStandard&lang=fr') 
    
    
    card = driver.find_element_by_class_name('_1m8f79NaN')
    card.click() 
    
    abonnement = driver.find_element_by_class_name('_bwmpdt')
    abonnement.click()
    
    tgv = driver.find_element_by_class_name('_1ntnz22')
    tgv.click()
    
    tgv_max = driver.find_element_by_xpath('//*[text()="Abonnement TGVmax"]')
    action = ActionChains(driver)
    action.move_to_element(tgv_max).click(tgv_max).perform()
    

    【讨论】:

      猜你喜欢
      • 2016-03-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多