我正在尝试使用Selenium自动化流程。我几乎总是使用:
driver.find_element_by_xpath('xpath')
找到所需的元素。当我完成整个过程时,我最终点击了一个打开对话框的元素:
我想点击的元素如下所示:
问题是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()
答案 0 :(得分:1)
尝试以下代码行:
driver.find_element_by_xpath("//div[starts-with(@id, '56')][@class='WN5Q WCAR WCU']/input[contains(@class, 'gwt-TextBox WO5Q WBAR')]")