使用Selenium在列表框中选择一个li元素

时间:2016-03-29 20:12:44

标签: python python-2.7 selenium selenium-webdriver selenium-ide

我有一个python脚本,我使用Selenium进行一些测试。

目前我正在尝试在多个列表框中选择一些元素。

你可以在这里查看网站:http://www.guloggratis.dk/annonce/opret(语言是丹麦语,如果你想知道的话)

所以我想要做的是选择一个类别,然后弹出一些新类别,然后我选择其中一个,直到没有剩下的类别为止。

我可以在第一个框中选择第一个元素,如下所示:

from selenium import webdriver

browser = webdriver.Firefox()
browser.get('http://www.guloggratis.dk/annonce/opret')
browser.find_element_by_css_selector("span.pos-absolute").click()
browser.find_element_by_id("categoryId_597").click()

虽然这有效,但我不知道为什么需要这样做

browser.find_element_by_css_selector("span.pos-absolute").click()

无论如何,如果我尝试从第二个框中出现的列表中选择一个类别

from selenium import webdriver

browser = webdriver.Firefox()
browser.get('http://www.guloggratis.dk/annonce/opret')
browser.find_element_by_css_selector("span.pos-absolute").click()
browser.find_element_by_id("categoryId_597").click()
browser.find_element_by_id("categoryId_598”).click()

即使" categoryId_598“是其中一个新类别的ID,它也不起作用。

感谢您提供的任何帮助,我期待着您的回答。

如果您在复制错误时遇到问题,请发表评论,我会立即通过手机回复。

1 个答案:

答案 0 :(得分:2)

也许是因为cookie窗口?

from selenium import webdriver
browser = webdriver.Firefox()
browser.get('http://www.guloggratis.dk/annonce/opret')
browser.find_element_by_id("cookieClose").click()
browser.find_element_by_id("categoryId_597").click()
browser.find_element_by_id("categoryId_598").click()

对我来说很好。