Селен Python нажмите на кнопку, если она появляется на экране - PullRequest
2 голосов
/ 13 марта 2019

Итак, есть сайт, который создается с помощью javascript. И обновляет каждую секунду. И я хочу получать значения каждую секунду. Но на сайте появится модальная страница с вопросом «Ты еще здесь?». И тогда вам нужно нажать на кнопку. Итак, сначала мой код выглядит так:

    try:
        button = browser.find_elements_by_xpath("//button[contains(@value, 'Refresh Page')]");
        button.click()
        rounds = rounds+1
    except:
        rounds = rounds+1

Но когда я смотрю на свой браузер, он все равно перезагружается каждый раунд, даже если он не отображается на экране.

Как я могу заставить эту работу нажимать кнопку только на экране? Спасибо!

1 Ответ

1 голос
/ 13 марта 2019

Пройдите по приведенному ниже коду, чтобы нажать на кнопку, когда она станет доступной и видимой, чтобы обновить страницу

button = browser.find_elements_by_xpath("//button[contains(@value, 'Refresh Page')]");

//To check button is present on page

if (len(button)>0):  

//And is displayed

if button[0].is_displayed():
      button[0].click()
   else:
      print "button not display"
else: 
    print("there is not refresh page button") 

OR

// to check the dialog present here "show" is the class which retain by the div once the refresh button get enabled

if "show" in browser.find_element_by_id('timeout_dialog').get_attribute('class'):
   browser.find_element_by_xpath("//button[contains(@value, 'Refresh Page')]").click()
else:
  print "refresh button not displaying"

Примечание : сделать исправление синтаксиса согласно питону

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...