找到一个元素并点击它,导航到另一个使用 selenium 的网页

oknwwptz  于 2023-02-08  发布在  其他
关注(0)|答案(1)|浏览(160)

我试图使用 selenium 打开这个网页(https://app.powerbi.com/view?r=eyJrIjoiMzE2ZDIyN2YtODY1Yy00ZGY0LWE4YTktNDcxOTcwYWQyMjM5IiwidCI6IjcyMmVhMGJlLTNlMWMtNGIxMS1hZDZmLTk0MDFkNjg1NmUyNCJ9),然后点击电车图标导航到我想刮的网页。
这是我一直在尝试的

from selenium import webdriver
driver=webdriver.Chrome()
driver.get("https://app.powerbi.com/view?r=eyJrIjoiMzE2ZDIyN2YtODY1Yy00ZGY0LWE4YTktNDcxOTcwYWQyMjM5IiwidCI6IjcyMmVhMGJlLTNlMWMtNGIxMS1hZDZmLTk0MDFkNjg1NmUyNCJ9")
driver.maximize_window()
x=driver.find_element("class name", "imageBackground")
print(x)

#driver.find_element("class name", "imageBackground").click()

但是,元素返回none,我不知道如何找到元素并单击div导航到下一页。

jslywgbw

jslywgbw1#

我更新了你的代码。
我添加了一个WebDriverWait,它会暂停,直到tram元素可单击,然后它单击Tram元素并转到下一页。

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

if __name__ == "__main__":
  driver=webdriver.Chrome()
  driver.get("https://app.powerbi.com/view?r=eyJrIjoiMzE2ZDIyN2YtODY1Yy00ZGY0LWE4YTktNDcxOTcwYWQyMjM5IiwidCI6IjcyMmVhMGJlLTNlMWMtNGIxMS1hZDZmLTk0MDFkNjg1NmUyNCJ9")
  driver.maximize_window()

  wait = WebDriverWait(driver, 30)
  tramElementXpath = '//*[@aria-label="Tram Bookmark . Click here to follow link"]'
  x = wait.until(EC.element_to_be_clickable((By.XPATH, tramElementXpath)))
  x.click()

相关问题