簡體   English   中英

為什么我不能在 selenium webdriver python 上點擊這個按鈕?

[英]Why i can't click this button on selenium webdriver python?

我無法點擊路由器界面中的某些按鈕。 我只能使用 pyautogui 進行點擊。 但是這種方法不起作用。 如何在 Selenium 上單擊此按鈕? 我將使用此代碼重置我的 IP 地址。

這是我要點擊的地方的css代碼:

<a href="#" class="edit" id="editBtn" title="Düzenle" onclick="editClick('ppp1.1', 'MyISP_PTM_35')"></a>

Html 數據: https : //mega.nz/file/2XJyEbCR#xBcEtzYh8QFLWTmSfAqll2V-p-Shiaw4wEz1RAWtso0

我嘗試了所有方法但沒有奏效。

try:
    WebDriverWait(driver,10).until(EC.element_to_be_clickable((By.CSS_SELECTOR,'#editBtn'))).send_keys("\n")
except:
    WebDriverWait(driver,10).until(EC.element_to_be_clickable((By.CSS_SELECTOR,'#editBtn'))).send_keys(Keys.ENTER)
try:
    WebDriverWait(driver,10).until(EC.element_to_be_clickable((By.CSS_SELECTOR,'#editBtn')))[0].send_keys("\n")
except:
    WebDriverWait(driver,10).until(EC.element_to_be_clickable((By.CSS_SELECTOR,'#editBtn')))[0].send_keys(Keys.ENTER)
try:
    WebDriverWait(driver,10).until(EC.element_to_be_clickable((By.CSS_SELECTOR,'#editBtn')))[0].click()
except:
    WebDriverWait(driver,10).until(EC.element_to_be_clickable((By.CSS_SELECTOR,'#editBtn'))).click()

在此處輸入圖片說明

嘗試這個

link = driver.find_element_by_link_text('')
link.click()

你想點擊鏈接,也許這個例子對你有幫助。

我解決了。 我應該使用框架。

#Selenium
from selenium.common.exceptions import TimeoutException
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.ui import WebDriverWait
from selenium import webdriver
from selenium.webdriver.firefox.options import Options
from selenium.webdriver import Firefox
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.common.actions.interaction import KEY
#Beautiful Soup
from bs4 import BeautifulSoup
import lxml.html

import time

import pyautogui


def router_reset():
    
    print ("Modem resetleniyor")
    
    driver = webdriver.Chrome('C:/Anaconda3/chromedriver.exe')
    driver.get('http://192.168.1.1/login.cgi')
    
    username = driver.find_element_by_id('AuthName')
    password = driver.find_element_by_id('AuthPassword')
    login = driver.find_element_by_xpath("//*[@id='login']/fieldset/ul/li[6]/input")
    
    username.send_keys("admin")
    password.send_keys("turktelekom")
    login.click()
    
    time.sleep(1)
    #Açılan Ekranı Atla Tuşu
    WebDriverWait(driver,10).until(EC.element_to_be_clickable((By.XPATH,'//*[@id="login"]/fieldset/ul/li[3]/input[2]'))).click()
    

    source = WebDriverWait(driver,10).until(EC.element_to_be_clickable((By.XPATH,'//*[@id="network"]')))
    #target = driver.find_element_by_id("div2")
    target = WebDriverWait(driver,10).until(EC.element_to_be_clickable((By.XPATH,'//*[@id="network"]')))
    # Create the object for Action Chains
    actions = ActionChains(driver)
    actions.drag_and_drop(source, target)
    # perform the operation on the element
    actions.click(target)
    actions.perform()

    WebDriverWait(driver,10).until(EC.element_to_be_clickable((By.CSS_SELECTOR,'#network-broadband > a'))).click()

    time.sleep(2)
    WebDriverWait(driver,10).until(EC.frame_to_be_available_and_switch_to_it((By.XPATH,'//*[@id="mainFrame"]')))
    WebDriverWait(driver,10).until(EC.element_to_be_clickable((By.CSS_SELECTOR,'#editBtn'))).click()

    driver.switch_to.default_content()
    time.sleep(5)
    WebDriverWait(driver,10).until(EC.element_to_be_clickable((By.CSS_SELECTOR,'body > div.ui-dialog.ui-widget.ui-widget-content.ui-corner-all > div.ui-dialog-buttonpane.ui-widget-content.ui-helper-clearfix > button:nth-child(2)'))).click()


    time.sleep(60)
    print("Modeme Reset Atıldı, 60sn Bekleme Süresi Başladı.")
    WebDriverWait(driver,10).until(EC.element_to_be_clickable((By.XPATH,'//*[@id="logoutName"]'))).click()
    WebDriverWait(driver,10).until(EC.element_to_be_clickable((By.CSS_SELECTOR,'body > div.ui-dialog.ui-widget.ui-widget-content.ui-corner-all > div.ui-dialog-buttonpane.ui-widget-content.ui-helper-clearfix > button:nth-child(2)'))).click()

router_reset() 

暫無
暫無

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

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