python - 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()
解决方案
我对你的剧本做了一些修改。使用操作而不是 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()
推荐阅读
- c++ - 以递归方式从文件中提升 C++ 序列化和反序列化对象
- arrays - Finding the first and last rows that contain a black pixel, in a numpy array
- node.js - Azure Function automatic retry on failure UnhandledPromiseRejectionWarning
- php - Wordpress:分层标签端点的问题
- php - Symfony 4 在控制器中设置 Twig 模板路径
- r - 仅在两个级别都存在时过滤组
- bash - 如何让 Shell 脚本在睡眠定时器上运行?
- oracle - Add notes & footnotes to table
- svg - SVG:图案填充不适用于“使用”
- matlab - 挣扎于while循环(计算机图形学)