您好,我正在尝试使用Selenium和PhantomJs在Python中模拟鼠标的“自然”滚动。
我想向上滚动以模拟鼠标滚轮,以便返回页面。
使用JavaScript可以做到这一点吗?
实际上,我使用此命令来滚动页面的底部。
self.driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")
因此,我认为可以运行这样的脚本来模拟鼠标的流畅性。
参考方案
实际上,到目前为止,您还没有发布您尝试过的内容。
遵循编码风格为我工作-可能会有更好的实践。
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
driver = webdriver.Firefox()
driver.get("https://www.google.com/search?q=a1+plumbing+boise")
link = driver.find_element_by_link_text('View all Google reviews')
link.click()
try:
print "about to look for element"
def find(driver):
e = driver.find_element(By.CLASS_NAME ,'_wu')
if (e.get_attribute("disabled")=='true'):
return False
return e
element = WebDriverWait(driver, 10).until(find)
print "still looking?"
finally: print 'yowp'
nam = driver.find_element(By.CLASS_NAME ,'_wu')
#get length of review
revcnt = driver.find_element(By.XPATH ,"//span[@class='_Mnc _yz']")
revcnt = int(revcnt.text.replace(" reviews","").strip())
print revcnt
# wait for reviews to appear
wait = WebDriverWait(driver, 10)
wait.until(EC.visibility_of_element_located((By.CSS_SELECTOR, "span.review-snippet")))#review-snippet
cntr = 0
reviews = []
while True:#cntr<=revcnt:
global cntr
reviews = driver.find_elements_by_css_selector("div._ju")
driver.execute_script("arguments[0].scrollIntoView();", reviews[-1])
print len(reviews)
cntr+=1
if len(reviews) == revcnt:
break
mores = driver.find_elements_by_xpath("//a[@class='fl review-more-link']")
for more in mores:
more.click()
js_code = "return document.getElementsByClassName('_ju');"
your_elements = driver.execute_script(js_code)
#print len(your_elements)
for i in your_elements:
print i.text.encode('utf-8')
driver.quit()
如果我得到url(''),我该如何使用另一个URL - javascript我是新手,正在写这篇文章,但是如果源上没有图像,那么我只有空白。有人可以告诉我,如果我正在获取背景图像,如何获取/images/no-image.jpg:url();这是我的代码:<div class="uk-clearfix uk-position-relative"> <div class="recipeb…
在JavaScript函数中转义引号 - javascript我正在尝试将变量传递给javascript函数。根据用户的选择,它可以是文本或图像。这里已经讨论了类似的问题,但我无法解决。在php中,我这样编码:if ($choice == 1) { $img = '<img src = "../folder/'.$_SESSION["img"].'…
Javascript-从当前网址中删除查询字符串 - javascript单击提交按钮后,我需要从网址中删除查询字符串值。我可以用jQuery做到这一点吗?当前网址:siteUrl/page.php?key=value 页面提交后:siteUrl/page.php 实际上,我已经从另一个带有查询字符串的页面着陆到当前页面。我需要在页面首次加载时查询字符串值以预填充一些详细信息。但是,一旦我提交了表格,我就需要删除查询字符串值。我已…
如何在没有for循环的情况下在Javascript中使用Django模板标签 - javascript我想在JavaScript中使用模板变量:我的问题是在javascript代码中使用for循环,for循环之间的所有事情都会重复..但我不想要....下面粘贴了我的代码..有人可以告诉我更好的方法吗这..因为这看起来很丑..这是我的代码: {% block extra_javascript %} <script src="/static/js…
使用JS和PHP更改弹出窗口背景图像 - javascript我有一个JS函数:function zoom(now) { document.getElementById("popup").style.display = "block"; document.getElementById("photos").style.backgroundImage = …