簡體   English   中英

使用 Selenium Chromedriver 和 python 我如何點擊這個元素?

[英]Using Selenium Chromedriver with python how do i click this element?

我希望能夠在 Yandex 帳戶注冊頁面中單擊此元素。

我正在使用 Selenium Chromedriver 和 python。

https://passport.yandex.com/registration/

我想自動點擊這個元素。

我試過這段代碼

element = self.driver.find_element_by_class_name("toggle-link.link_has-no-phone").click()
        webdriver.ActionChains(self.driver).move_to_element(element).click(element).perform()

但我得到 ElementClickInterceptedException。

有一個element.click().perform()

您還可以向元素發送一個Return

from selenium.webdriver.common.keys import Keys


element = ... # get your element
element.send_keys(Keys.RETURN) # or send a left mouse click

看起來您查找元素的方式是錯誤的,該元素有兩個類,並且您嘗試同時指定兩者 -> find_element_by_class_name 僅采用一個 class 屬性值。

所以,這應該適合你

driver.find_element_by_class_name('link_has-no-phone').click()

不知道你為什么在這里使用ActionChains ,而你可以簡單地點擊上面提到的鏈接。

簡化代碼

self.driver.find_element_by_class_name("toggle-link.link_has-no-phone").click() 

或者

element = self.driver.find_element_by_class_name("toggle-link.link_has-no-phone")
element.click()

或者

driver.find_element_by_css_selector('.toggle-link.link_has-no-phone').click()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM