我的脚本已经完成,准备好去看自动飞行员的电视节目,并在我的电脑上完美运行。我现在遇到的问题很奇怪,因为有些点击确实可以通过链接文本查找元素,但其他点击无法在电视上使用,这里是代码。
eleml = driver.find_element_by_link_text('PLAY NOW')
action = webdriver.common.action_chains.ActionChains(driver)
action.move_to_element_with_offset(eleml,200,200)
action.click()
action.perform()
import time
time.sleep(10)
action = webdriver.common.action_chains.ActionChains(driver)
action.move_to_element_with_offset(eleml,200,200)
action.click()
action.perform()
action = webdriver.common.action_chains.ActionChains(driver)
action.move_to_element_with_offset(eleml,200,200)
action.click()
action.perform()
现在我想可能点击是基于电视屏幕而不是计算机屏幕的像素,所以我把它增加到600, 600
但它仍然无效。
关于我能做什么的任何想法?
答案 0 :(得分:0)
这看起来像是一个时间问题。 Wait for the link to be clickable:
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
element = WebDriverWait(driver, 10).until(
EC.element_to_be_clickable((By.LINK_TEXT, "PLAY NOW"))
)
element.click()