我正在尝试使网站上的过程自动化,该过程动态为其元素生成ID:
ID具有以下形式: ZCODE:FORM:j_1279323:element
我设法为大多数元素创建CSS或XPATH选择器。
不过,我在ul/li
元素上苦苦挣扎,我设法用它的id
单击,但没有使用相对的XPath,这是我要实现的目标:
我尝试了各种xpath:
/html[1]/body/[1]/div[37]/div[1]/ul[1]/li[13]
还:
//div[contains(@id, 'voie_panel')]/div/ul/li[13]
以及许多其他不同方式 我测试的所有xpath / css选择器都可以在chrome开发人员控制台中完美运行。
我只能将列表下拉,但是当我尝试访问列表元素时...超时。
我正在使用WebDriverWait
,我还试图在要加载该程序以单击列表的确切位置暂停该程序。
我等待以下元素:
myElem = WebDriverWait(self.driver, 30).until(ec.element_to_be_clickable((BY.XPATH, css))
总结情况: 它可以与ID配合使用,但可以通过xpath或CSS选择器超时
有人可以推荐一种策略来克服这个问题吗?
答案 0 :(得分:0)
如果您正在使用Selenium Web驱动程序,则可以将其添加到代码中
chrome_options = webdriver.ChromeOptions()
scpathTemp = str(scpathTemp).replace('/', '\\').strip()
preferences = {"safebrowsing.enabled": True}
chrome_options.add_experimental_option("prefs", preferences)
driver = webdriver.Chrome(chrome_options=chrome_options, executable_path=master_path + "/chromedriver.exe")
driver.find_element_by_xpath("/html[1]/body/[1]/div[37]/div[1]/ul[1]/li[13]").click()