我试图让我的selenium脚本在网站上选中“selectALL”复选框。问题是python程序找不到它
我试过了
结果如下
姓名:
checkButton = driver.find_element_by_name("checkALL")
checkButton.click()
selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"css selector","selector":"[name="checkALL"]"}
(Session info: chrome=80.0.3987.132)
使用xpath:
checkButton = driver.find_element_by_xpath("//table[@id='tbl2']/tbody/tr/td/input")
checkButton.click()
selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"xpath","selector":"//table[@id='tbl2']/tbody/tr/td/input"}
(Session info: chrome=80.0.3987.132)
Google Chrome元素转储:
<input type="checkbox" name="checkALL" rownumber="" value="notchecked" onclick="checkAllCheckedRows('portID')">
我很困惑为什么这不起作用。我甚至在行动之间有5秒的延迟
完整代码
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from webdriver_manager.chrome import ChromeDriverManager
import time
from selenium.webdriver.support.ui import Select
driver = webdriver.Chrome(ChromeDriverManager().install())
driver.get("http://192.168.1.235/login.cgi")
assert "NETGEAR ProSAFE Plus Switch" in driver.title
#Locate Password
passwordInput = driver.find_element_by_id("password")
#Input switch password
passwordInput.clear()
passwordInput.send_keys("password")
passwordInput.send_keys(Keys.RETURN)
#Wait for mainpage to load
time.sleep(5)
#Switch to Port Status
portStatusButton = driver.find_elements_by_xpath('//*[@id="blueLinkBold11"]/div[2]/a')
print(portStatusButton)
portStatusButton[0].click()
time.sleep(5)
#Check select all checkbox
checkButton = driver.find_element_by_name("checkALL")
checkButton.click()
#Select option from Menu (Disable)
speedDropdown = Select(driver.find_element_by_name("SPEED"))
speedDropdown.select_by_value(2)
#Click Apply Button
applyButton = driver.find_element_by_name("btn_Apply")
applyButton.click()
driver.close()
要单击元素,必须为
element_to_be_clickable()
诱导WebDriverWait,并且可以使用以下Locator Strategies之一:使用
CSS_SELECTOR
:使用
XPATH
:注意:您必须添加以下导入:
在与元素交互之前,必须切换到右侧iframe
相关问题 更多 >
编程相关推荐