如果Python硒出现在屏幕上,请单击按钮

时间:2019-03-13 11:04:02

标签: python python-3.x selenium selenium-webdriver

因此,有一个由javascript生成的网站。并每秒更新一次。我想每秒获取值。但是该站点将弹出一个模式消息,询问“您还在这里”。然后,您需要单击按钮。首先,我的代码如下:

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

但是当我查看浏览器时,它仍然会在每轮重新加载,即使它没有显示在屏幕上。

我如何才能做到这一点,使其仅在屏幕上单击按钮?谢谢!

1 个答案:

答案 0 :(得分:1)

浏览以下代码,在按钮可用且可见后单击该按钮以刷新页面

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"

注意:按照python进行语法更正