我正在使用selenium抓取大约1000个URL,并且我已经非常接近让它工作了。每个url都有一个“加载更多”按钮,我不断单击该按钮,直到抛出一个过时元素异常,并传递该异常。刮擦效果很好,直到随机视频广告覆盖了按钮。我认为使用XPATH来定位按钮可以解决这个问题,但事实并非如此。我知道使用java来执行脚本将解决这个问题,但我不确定如何在循环的基础上使用。下面是我目前的情况。
if clicks >= 1:
webdriver.ActionChains(driver).send_keys(Keys.ESCAPE).perform()
sleep(1)
try:
while EC.element_to_be_clickable((By.XPATH, '/ html / body / div[2] / div / div / div[4] / div[4] / div / div / button')):
button = driver.find_elements_by_xpath("/ html / body / div[2] / div / div / div[4] / div[4] / div / div / button")
button[0].click()
sleep(2)
if not button.is_enabled():
print('ad is covering button, hopefully this works')
wait2 = WebDriverWait(driver, 10)
wait2.until(EC.element_to_be_clickable(By.XPATH("/ html / body / div[2] / div / div / div[4] / div[4] / div / div / button").click()))
except StaleElementReferenceException:
pass
else:
print('under 10 reviews')
pass
我希望if not行能挽救这一天...但我不确定我是否设置正确。我还发现此链接可能会有所帮助:Selenium-Debug: Element在点(X, Y)不可单击,但我不知道如何使用执行脚本功能连续单击。此链接也可能很有帮助:WebDriver单击()vs JavaScript单击()任何帮助都将不胜感激。
你可以简单地把它修改成这个。很确定你需要一个超时,除了。以防它找不到。
wait = WebDriverWait(driver, 10)
while True:
try:
elem=wait.until(EC.element_to_be_clickable((By.XPATH,"//button[.='load more']")))
driver.execute_script("arguments[0].click();", elem)
except StaleElementReferenceException:
break
except TimeOutException:
break
我正在尝试使用ionic admobFree本机插件在ionic 3中显示奖励视频广告。我可以显示横幅和插页广告,但RewardedVideo广告并非每次都显示。因为RewardedVideo广告有时会出现,这意味着我必须把事情做对。我也尝试过显示测试广告,但rewardedVideo广告也没有显示为测试广告。admob中是否存在导致这种行为的某种设置,因为我没有收到任何错误,而是收到了错误。这是
我使用hibernate并尝试优化加载带注释的外部实体 我不想在hibernate查询期间检索外部实体并使用延迟获取类型。稍后(会话已经关闭之后),我想获取那个外部实体,但使用的工具不同于hibernate(另一个缓存的DAO(GuavaCache),它已经存储了外部实体)。 当然,我立即得到了一个LazyLaunalizationException。 我不能用@Transient替换@ManyT
我正在尝试使用Admob在我的android应用程序中显示奖励视频广告。如果我用谷歌示例广告单元ID运行应用程序,它工作得很好,但如果我将其更改为我的奖励广告单元ID,则不会加载广告。
我想在JavaFX中创建特定的组件。在 onClick 事件后显示 poupup 的按钮。 情景: > < li> 我们单击按钮 弹出显示下面的按钮(如图片上所示)
我想知道如何随机选择1,以及如何使用selenium IDE在我的网站上的单选按钮/检查字段中随机选择1-6个选项之间的某个地方。 我已经有了一个脚本,可以在下拉菜单中进行随机选择,这工作很好-可以轻松修改以进行其他选择吗?(请包括代码示例,因为我是新手。) 感谢您的帮助。
我有两个视频,其中一个覆盖在另一个上,覆盖的只有几秒钟长,我希望它在主视频播放的同时保持循环。我尝试了我能想到的一切,但似乎在ffmpeg中都行不通 将一个覆盖在另一个之上,但没有循环。将更改为 给我一条错误消息 [movie@01B19FC0]找不到键“loop”。[movie@01b19f40]分析选项字符串时出错:“loop=0”初始化带有参数“重叠”的筛选器“movie”时出错。wmv:l