我试图点击并取消选中此Website上的某些复选框,我想取消选中
最终结果如下:
这是我的代码:
from selenium import webdriver
driver = webdriver.Firefox()
driver.implicitly_wait(10)
base_url = "http://proxylist.hidemyass.com/"
driver.get(base_url)
driver.find_element_by_xpath("(//input[@name='pr[]'])[2]").click()
driver.find_element_by_name("sp[]").click()
driver.find_element_by_xpath("(//input[@name='sp[]'])[2]").click()
driver.find_element_by_name("ct[]").click()
driver.find_element_by_xpath("(//input[@name='ct[]'])[2]").click()
但是此代码仅在连接时间中取消选中慢速和中等,但未取消选中1
和2
中所述的复选框。这是为什么?
答案 0 :(得分:0)
看起来输入是隐藏的。输入后的跨度虽然可见。我尝试过这样的事情:
(//input[@name='pr[]'])[2]/following-sibling::span
答案 1 :(得分:0)
我设法使用
取消选中SOCKS4 / 5输入a = driver.find_element_by_css_selector("input[value='2']")
a.click()
编辑:更通用的方法:
fieldsets = driver.find_elements_by_css_selector('fieldset')
protocol = [i for i in fieldsets if "protocol" in i.text.lower()][0]
sock_input = protocol.find_element_by_css_selector('input[value="2"]')
sock_input.click()
您只需重复前面的步骤即可获得速度' &安培; '连接时间' fieldset实体