我用python在google表单页面上使用selenium编写了一个web scraper,但我希望能够选择我想要的特定按钮。我厌倦了一次选择所有的按钮,所以它最终按预期选择了最后一个。也不可能使用数字的倍数,因为每个数字包含不同数量的按钮
所以我想要一种方法来获取组中单选按钮的数量,并选择所需的按钮
如果还有其他建议,我很乐意听
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time
import Resources
from selenium.webdriver.support.select import Select
driver = webdriver.Chrome(executable_path= Resources.driverChrome)
driver.maximize_window()
driver.get(Resources.linkTest)
time.sleep(3)
try:
email = driver.find_element_by_xpath("//input[@type='email']")
if email.is_displayed() & email.is_enabled():
email.send_keys(Resources.emailTest)
except:
print("Email box was not found")
containers = driver.find_elements_by_xpath("//div[@class ='freebirdFormviewerViewNumberedItemContainer']")
sNoBoxes = driver.find_elements_by_xpath("//input[@type='text' ] ")
time.sleep(2)
radios = driver.find_elements_by_xpath("//div[@class='appsMaterialWizToggleRadiogroupOffRadio exportOuterCircle']")
for radio in radios:
radio.click()
for container in containers:
sNo = int(containers.index(container))
print("\n\n" + str(sNo) + " " + container.text)
button = driver.find_element_by_xpath("//span[contains(text(),'Submit')]")
button.click()
time.sleep(3)
try:
viewScore = driver.find_element_by_xpath("//span[contains(text(),'View score')]").click()
except:
pass
首先,您可以在网页上找到包含以下代码的所有单选按钮:
结果:单选按钮元素列表
接下来,您要计算单选按钮。注意单选按钮是全局的;单选按钮“选项2”是第11个按钮,而不是第2个如果要单击第一个单选按钮,请使用:
结果:单击单选按钮
要单击第n个单选按钮,请使用:
相关问题 更多 >
编程相关推荐