2017-08-11 87 views
1

我试图使用Selenium自动化一个过程。我几乎总是使用:在Selenium中查找dymanic元素:“元素不可见”错误

driver.find_element_by_xpath('xpath') 

找到需要的元素。当我经历的过程,我最终点击打开一个对话框,这样的元素:

http://imgur.com/a/NUoIM

元素我试图点击看起来像这样:

http://imgur.com/1Zle5zG

问题是xpath和id都是动态的,所以每次创建一个新的会话时,我都会处理稍微不同的信息。

我所在的元素通过以下:

driver.find_element_by_xpath('//div[contains(@id, "56$187009")]/div[contains(@class, "gwt")]') 

但是当我尝试和send_keys的元素,我收到以下错误:

selenium.common.exceptions.ElementNotVisibleException: Message: element not visible 

我可以看到的元素屏幕,但似乎司机无法找到它。我试图用:

driver.switch_to_alert() 

回答

1

试试下面的代码行:

driver.find_element_by_xpath("//div[starts-with(@id, '56')][@class='WN5Q WCAR WCU']/input[contains(@class, 'gwt-TextBox WO5Q WBAR')]") 
+1

你是我在金甲夜。非常感谢!! –

+0

@JoeyB很高兴能够帮助你。 – DebanjanB