![](/img/trans.png)
[英]How do I click a Javascript button on a webpage using python selenium
[英]How to Click on all “role=button” on a webpage using selenium and python
我正在嘗試使用python和Selenium創建我的第一個項目,但是我是一個新手,它只是一個簡單的項目,要求用戶提供他/她的Facebook用戶名和密碼,然后登錄重定向到facebook.com/user/下一頁並取消關注用戶關注的所有人。
這是我的代碼
我使用此代碼導入了必要的模塊
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import selenium
import time
我關閉了Facebook彈出通知,以避免破壞代碼。
##SHUTTING POPUP NOTIFICATION
chrome_options = webdriver.ChromeOptions()
prefs = {"profile.default_content_setting_values.notifications": 2}
chrome_options.add_experimental_option("prefs", prefs)
chrome_options.add_argument("start-maximized")
chrome_options.add_argument("start-maximized")
driver = webdriver.Chrome(chrome_options=chrome_options)
定義了一個登錄func
,該func
在打開Facebook后需要用戶名和密碼。
def login():
#Login
user = input('Whats your username or email ')
passw = input('Input your password ')
driver.get("https://www.facebook.com/")
username = driver.find_element_by_name("email")
username.send_keys(user)
password = driver.find_element_by_name("pass")
password.send_keys(passw)
password.send_keys(Keys.RETURN)
接下來,我只創建了3秒。 時間功能
def timeToSleep():
time.sleep(3)
getPage函數是用於重定向到我的目的地(即用戶關注)的函數
def getPage():
##Get Page
driver.get("https://www.facebook.com/Username/ID/following")
這是單擊功能,可以單擊我想要的位置,這也是我的問題所在。.我想開始單擊以下所有帶有單擊功能的波紋管。[檢查img]
def click():
xpath = "//a[@role='button']"
a=driver.find_elements_by_xpath(xpath)
for posts in a:
posts.click()
但是我現在的問題是(除了錨屬性“ role ='button'”之外,以下按鈕沒有任何類或ID)。
該代碼可以正常工作,但它們是網頁上具有相同role ='button'屬性的其他元素,例如下面的pix: 工具欄 facebook工具欄具有相同的角色按鈕內容。我的問題是:我如何使Selenium跳過工具欄,然后從以下按鈕開始單擊。
很抱歉,如果我的解釋不好...我將非常感謝任何機構的幫助。
提前致謝
我在Facebook上關注Mark Zuckerberg,這是單擊取消關注鏈接的xpath:
//a[text()='Mark Zuckerberg']/../../following-sibling::div[2]/a
同樣,您可以在情況下替換Person的名稱,以單擊Unfollow鏈接。
如果您的朋友中沒有一個跟隨您關注的人,那么您也可以使用此XPATH:
//a[contains(@data-hovercard,'/ajax/hovercard/user.php?')]/../../following-sibling::div/a
獨立於人名。 請注意,這將為您提供Web元素列表,而不是單個元素。 [這很適合您的要求,因為您想單擊每個取消關注鏈接]。
HTH!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.