Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Selenium click是否可以使用标签?_Python_Selenium_Selenium Webdriver - Fatal编程技术网

Python Selenium click是否可以使用标签?

Python Selenium click是否可以使用标签?,python,selenium,selenium-webdriver,Python,Selenium,Selenium Webdriver,HTML代码段: <label id="on" class="cb-enable"><span>On</span></label> 还尝试: driver.find_element_by_css_selector("label#on.cb-enable").click() driver.find_element_by_css_selector('.cb-enable').click() driver.find_element_by_id("on"

HTML代码段:

<label id="on" class="cb-enable"><span>On</span></label>
还尝试:

driver.find_element_by_css_selector("label#on.cb-enable").click()
driver.find_element_by_css_selector('.cb-enable').click()
driver.find_element_by_id("on").click()
我检查了元素属性:

.id = {0b236cc6-c0b9-4592-a171-96d2c8890880}
.is_enabled() = True
.is_displayed() = True
.size = {'width': 36, 'height': 30}
不会引发任何错误,但标签不会按预期从
关闭
切换到
打开
。这个标签触发了一个Javascript操作,这正是我真正需要执行的

另外
len(驱动程序。通过类名称(“cb启用”)查找元素)
=1

我已经用了很多次硒,但几周前就没用过了

更新:通过在运行时手动最大化窗口,我让它工作了。我想按钮部分隐藏在网站底部的弹出栏下。

这行吗

driver.find_element_by_css_selector('.cb-enable').click()
你能试试这个吗

包括等待webElement出现


onBtn.sendKeys(key.ENTER)

事实上,您可以使用Selenium执行javascript代码,如:

driver.execute\u脚本(javascript\u代码)


单击HTML元素。

尝试通过Xpath单击
标签内的
span

driver.find_element_by_xpath("//label[@class='cb-enable'][@id='on']/span[text()='On']").click()
或通过CSS:

driver.find_element_by_css_selector("label[class='cb-enable'][id='on'] span").click()

您确定此特定元素会触发您期望的操作吗?你能分享这个网站的链接,或者提供网页的源代码吗?谢谢。谢谢,但是我看不到
上有
文本的跨度。哎呀,它让我注销了。更新下载:你能给出网页的快照或至少那个按钮吗?@用户,以防万一,尝试等待该元素可点击:
WebDriverWait(driver,10)。直到(EC.element可点击((By.ID,'on'))。点击(),其中,
EC
通过
从selenium.webdriver.support导入预期的_条件作为EC
。不,这不起作用。我尝试了几种不同的选择方法。也是通过
id
实现的。
AttributeError:'WebElement'对象没有属性'sendKeys'
其次,我认为等待不会起作用,因为它已经发现元素很好了?正如您在OP中看到的,len()=1
driver.find_element_by_css_selector("label[class='cb-enable'][id='on'] span").click()