首页 > 解决方案 > python selenium在移动版网页上找不到可点击的播放按钮

问题描述

我很难在网页的移动版本上找到播放元素(我的 python 脚本在标题中传递了一个移动用户代理。)

网站网址如下(注意:必须使用移动用户代理访问,否则它不会显示正确的页面并恢复到标准浏览器页面

https://m.soundcloud.com/mbmproductions/sets/mark-berrys-playlist

在浏览器中使用检查,我无法确定需要单击什么才能开始播放。如果我手动单击播放按钮周围的整个图像区域似乎可以工作,但是在使用脚本开始播放时,inspect 列出的任何元素似乎都不起作用。

谁能解释如何在此链接中找到正确的可点击元素,以便我可以将其添加到脚本中以单击它并开始播放。理想情况下,按照我下面的代码使用 XPATH,但是如果它有效,类或 ID 或任何东西都可以,如果我必须的话,甚至可以使用 javascript。

    element = WebDriverWait(driver, 10).until(
        EC.element_to_be_clickable((By.XPATH, targetelement))
    )
    element.click()

标签: pythonhtmlselenium

解决方案


我对你的剧本做了一些修改。使用操作而不是 click()。将可点击显式更改为存在。

element = WebDriverWait(driver, 10).until(
        EC. presence_of_element_located
((By.CLASS_NAME, ‘g-header-artwork-controls’))
    )

el = driver.find_elements_by_css_selector(“.playlist__playButton.g-play-button")
webdriver.ActionChains(driver).move_to_element(el).click(el).perform()

推荐阅读