Selenium通过xpath和click查找元素

ale*_*ale 2 selenium xpath python-3.x

我有这行代码:

browser=webdriver.Chrome()
...
games1=[]
for x in browser.find_elements_by_xpath("//li[starts-with(@class,'icon_flag')]"):
 if x.text!="":
  games1.append(x.get_attribute('class'))
Run Code Online (Sandbox Code Playgroud)

然后我试图让selenium点击我找到的元素:

for x in games1:
 browser.find_element_by_xpath("//li[@class=x]").click()
Run Code Online (Sandbox Code Playgroud)

如何获得错误消息:

消息:没有这样的元素:无法找到元素:

这真的很奇怪,因为我发现了网站上的元素!

Cav*_*age 5

您需要将x作为变量传递.现在你传递的是文字"x"值

for x in games1:
 browser.find_element_by_xpath("//li[@class="+x+"]").click()
Run Code Online (Sandbox Code Playgroud)