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

Python 如果按钮出现在屏幕上,请单击该按钮,python,python-3.x,selenium,selenium-webdriver,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 exce

因此,有一个由javascript生成的站点。每秒钟更新一次。我希望每秒都能得到这些值。但该网站会弹出一个模式,询问“你还在吗?”。然后你需要点击按钮。首先,我的代码如下所示:

    try:
        button = browser.find_elements_by_xpath("//button[contains(@value, 'Refresh Page')]");
        button.click()
        rounds = rounds+1
    except:
        rounds = rounds+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") 


注意:根据python进行语法更正

你能将
通过xpath查找元素
更改为
通过xpath查找元素
并且tryNope,每次@NarendraR你能共享站点URL吗?@NarendraR我想这是个输入错误,否则OP将获得AttributeError:“list”对象没有属性“click”@NarendraR url是您的缩进在第一段代码的后半部分不正确。第二个
if
(和后面的)应该缩进,因为它应该位于第一个
if
的内部。另外,python注释是#not//,请参阅@JeffC,是的,我知道这就是为什么我添加了一个注释,因为在我的系统中发布普通代码有限制。我不明白为什么你不能修复它???你需要修正它,否则它就不正确,尤其是第一部分。这有点粗鲁,是吗?我可以纠正它,但我的工作不是到处去纠正别人的错误。我把它们指给你看。。。你为什么不能修好它们?你通常会让别人来帮你收拾残局吗?您的回答是错误的,我指出了错误,您拒绝修复它们。@JeffC,我的系统在office网络中,并且有某种算法不允许任何人复制或粘贴代码。你的回答是错误的,我不认为我的回答对OP有帮助,他也期望如此。也许你得自己努力
// 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"