Python selenium presence_of_element_located только с href

#python #selenium

#python #селен

Вопрос:

Я пытаюсь щелкнуть ссылку на форуме, используя Selenium, но мне нужно дождаться загрузки страницы, поэтому я подумал, что лучшим способом было использовать WebDriverWait. Это мой код, который я использовал для его тестирования:

 driver.get("https://testocolo.forumcommunity.net")
#First click, working
driver.find_element_by_xpath('//a[@href="' "/?f=9087616" '"]').click()
    try :
        element = WebDriverWait(driver, 2).until(
            EC.presence_of_element_located(By.XPATH, '//a[@href="' "/?t=61904616" '"]')
        )
        element.click()
    except :
        print("NO")
  

Это элемент

 <a href="/?t=61904616" title="discussione inviata il: 28/10/2020, 19:58">Brotha</a>
  

Цикл try except заканчивается каждый раз, когда выводится «НЕТ».
До этого я пытался найти по LINK_TEXT вместо этого с помощью «Brotha», но ни в коем случае не работает. Где я делаю неправильно?

Комментарии:

1. Увеличьте время с 2 до 20-30 или что-то в этом роде.

Ответ №1:

xpath вы можете попробовать

 //a[contains(@tittle,'discussione inviata il')]
  

или

//*[text()=’Brotha’]

Следующий вариант, который вы можете проверить, находится ли этот элемент в iframe?

    WebDriverWait(driver, 30).until(
    EC.element_to_be_clickable((By.XPATH, "//*[text()='Brotha']")))
  

Комментарии:

1. Это не в iframe, и, к сожалению, ни один из этих вариантов не работает. Если я набираю driver.find_element_by_xpath(‘//a[@href=»‘ «/?t=61904616″ ‘»]’), он находит нужный элемент, и я могу щелкнуть по нему, но когда я использую WebDriveWait этого не делает.

2. используйте element_to_be_clickable вместо presence_of_element_located и попробуйте.

3. если он все еще не работает, вам необходимо предоставить дополнительную информацию, такую как URL или соответствующие детали DOM, для дальнейшего изучения

4. Я перепробовал все, что вы предложили, но ничего. Я обновляю свой первоначальный вопрос дополнительной информацией и ссылкой на форум

5. //* [text()=’Brotha’] xpath работает для меня. Пожалуйста, проверьте