无法单击带有Selenium的按钮

Bab*_*Ali 0 python selenium xpath

我试图自动点击一些按钮的过程.虽然我走得很远,只有一个按钮无法工作.我正在使用python和selenium.所以我只想点击这个按钮,但我无法这样做.下面是我用css select和xpath试过的代码,但是我仍然无法点击它,我找不到错误路径.

这是我要点击的按钮

<button class="yt-uix-button yt-uix-button-size-default yt-uix-button-primary  create-channel-submit" type="button" onclick=";return false;" data-channel-creation-token="GhaqucG9ARAKDi9teV92aWRlb3M_bz1VKAQ%3D"><span class="yt-uix-button-content">CREATE CHANNEL</span></button>
Run Code Online (Sandbox Code Playgroud)

我尝试了以下2个代码,但没有一个有效.

 driver.find_element_by_xpath("//button[@class='button.yt-uix-button yt-uix-button-size-default yt-uix-button-primary  create-channel-submit']").click()

driver.find_element_by_css_selector('button.yt-uix-button yt-uix-button-size-default yt-uix-button-primary  create-channel-submit').click()
Run Code Online (Sandbox Code Playgroud)

ale*_*cxe 6

让我们回顾一下你的尝试:

  • driver.find_element_by_xpath("//button[@class='button.yt-uix-button yt-uix-button-size-default yt-uix-button-primary create-channel-submit']").click()

    这个不起作用,因为您试图将CSS选择器放入@class属性值检查.你打算做的事情如下:

    //button[@class='yt-uix-button yt-uix-button-size-default yt-uix-button-primary  create-channel-submit']
    
    Run Code Online (Sandbox Code Playgroud)
  • driver.find_element_by_css_selector('button.yt-uix-button yt-uix-button-size-default yt-uix-button-primary create-channel-submit').click()

    这个没有用,因为你没有正确地在CSS选择器中指定多个类,类需要用点分隔:

    button.yt-uix-button.yt-uix-button-size-default.yt-uix-button-primary.create-channel-submit
    
    Run Code Online (Sandbox Code Playgroud)

需要注意的是一个更简单的选择应该做的工作 - 你不必在一个CSS选择器来指定所有类 - 挑一个更面向数据和独特的一个,在这种情况下,我想这应该是相当可靠和可读性:

driver.find_element_by_css_selector('button.create-channel-submit').click()
Run Code Online (Sandbox Code Playgroud)