python - Selenium click 可以与标签一起使用吗?

标签 python selenium selenium-webdriver

HTML 片段:

<label id="on" class="cb-enable"><span>On</span></label>

我的代码片段:

onBtn = driver.find_element_by_class_name("cb-enable")
onBtn.click()

还尝试过:

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}

没有抛出错误,但标签没有按照预期从 Off 切换到 On。该标签会触发 Javascript 操作,这就是我真正需要执行的操作。

另外len(driver.find_elements_by_class_name("cb-enable")) = 1

我已经多次使用 Selenium,但从几周前开始就不再使用了。

更新:我通过在运行时手动最大化窗口来使其正常工作。我认为该按钮部分隐藏在网站底部弹出栏下方。

最佳答案

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

driver.execute_script(javascript_code)

单击 HTML 元素。

关于python - Selenium click 可以与标签一起使用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27008697/

相关文章:

windows - 在Bamboo服务器上使用Chrome v73.0,ChromeDriver 2.46从渲染器: 600. 000接收消息超时

python - Selenium WebDriver 可以单击下拉菜单中的所有组合吗

javascript - Python中的Selenium,无法点击 'button' : Tag not found

java - @BeforeMethod/@AfterMethod(onlyForGroups)方法没有执行,如果执行属于该组的测试方法

ruby-on-rails - Capybara 与页面对象 gem 的集成

python - 使用 Django 查询集访问不同的外键关系

python - 如何从 tensorflow 高级 API 恢复训练好的 LinearClassifier 并进行预测

java - Selenium WebDriver : Verify Print Window dialog displayed on the page

python - wxPython:绑定(bind)wx.EVT_CHAR_HOOK禁用TextCtrl退格键

python - 在Python中使用os.rename()时出现FileNotFoundError