python selenium点击多个调查按钮错误

标签 python selenium selenium-webdriver

import selenium
from selenium import webdriver
from selenium.webdriver.common.keys import Keys

browser = webdriver.Chrome()
browser.get('https://wj.qq.com/s/2214142/51db') # survey link

# First page - click "Next" button, it works
button = browser.find_element_by_class_name('survey_nextpage') # it works
button.click()


# Second page - click one of the scale button between 1-5 
# it always clicks the first button found. how to set to randomly 
# choose from one of the five buttons?

answer = browser.find_element_by_class_name('star_item') 
answer.click() 

我是 selenium 的新手,正在通过调查网站链接测试我的代码。

第一页-点击“下一步”按钮成功。

第二页 - 它包含指示 1-5 比例的第一个按钮。 我的代码总是点击它找到的第一个按钮。我的目标是在 1-5 之间随机选择一个按钮并单击它。我试图写一个循环,但它不起作用。

任何建议将不胜感激。谢谢。

最佳答案

如果所有元素都具有相同的类名,您可以使用复数 elements 来使用返回元素列表而不是仅返回第一个元素的函数:

answers = browser.find_elements_by_class_name('star_item') 
answers[2].click() 

关于python selenium点击多个调查按钮错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51180363/

相关文章:

java - 查找包含特定字符串且带有空格的文本?

testing - Testng如何创建测试类的对象并调用测试类的方法?

java - 我想动态更新 gui.properties 文件的键值对

javascript - Sauce Labs 无法执行 javascript

python - 显示 NLTK 中的标签概率/置信度

python - 这段代码中 self[identifier] = some_value 做了什么?

python - 如何用pyglet显示一个numpy数组?

python - 在 Python 中套接字接收/发送数据时到底发生了什么

.net - Selenium Web 驱动程序在第一次测试运行后失败并且发生 TestFixtureTearDown

python - 使用 Selenium Webdriver 和 FireFox 时出错