CSS或Xpath选择器无法选择列表元素

时间:2019-11-08 15:08:42

标签: python selenium rpa

我正在尝试使网站上的过程自动化,该过程动态为其元素生成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选择器超时

有人可以推荐一种策略来克服这个问题吗?

1 个答案:

答案 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()