蟒蛇。点击()不工作

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了蟒蛇。点击()不工作相关的知识,希望对你有一定的参考价值。

我目前使用下面的Python和硒的版本:

Python34 3.4.3(v3.4.3:9b73f1c3e601,2015年2月24日,22点43分06秒)[MSC v.1600 32位(英特尔)]

硒版本2.53.2

我希望有人会知道这个问题的答案。我试图做到的,是采取一个Facebook页面,因为它竟把滚动它,然后展开所有的“意见”,“回复”和“查看更多”即会显示在网页的链接。

到目前为止,我只试过用“查看更多”链接,但我不能让它处理点击链接。我想我的基本知识告诉我,它找到的XPath,因为我没有得到这个错误,但我为它后立即报了。点击功能做。我一直在使用find_element_by_link_text('See More')然而这没有工作也试过。我也设法找到html结构然而其中位于何处,因为他们是不相同的,我不知道如何实现这些的查看更多链接的两个例子:

//div[3]/div[2]/div/span/span/a/span
//div[2]/div[2]/div/span/span/a/span

//div[@id='id_58591b7145b529535706885']/span/span/a/span
//div[@id='id_58591f8225af12f45796030']/span/span/a/span

如果任何人有任何建议或修正或替代方案的话,我将不胜感激到这里他们。提前致谢,

import os
import time
from selenium import webdriver
from selenium.webdriver.common.keys import Keys

#Global Variables
target = "serena.xxxx.x"
username = "xxxxx@xxxxxx.com"
password = "xxxxxxxx"

#code block to log in user
def logmein():
    search_box = driver.find_element_by_name('email')
    search_box.send_keys(username)
    search_box = driver.find_element_by_name('pass')
    search_box.send_keys(password)
    search_box.submit()

driver = webdriver.Firefox()

driver.get("https://www.facebook.com//")

logmein()

elm = driver.find_element_by_tag_name('html')
elm.send_keys(Keys.END)
time.sleep(2)
elm.send_keys(Keys.END)
time.sleep(2)
elm.send_keys(Keys.END)
time.sleep(2)
elm.send_keys(Keys.END)
time.sleep(2)
elm.send_keys(Keys.HOME)

# Initiates See More Open
SeeMore = driver.find_element_by_xpath("//a[@class='see_more_link']")
print("Found See More")
SeeMore.click()
print("Expand SeeMore option")
答案

这是否帮助?

import os
import time
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By

#Global Variables
target = "..."
username = "..."
password = "..."

def logmein():
    search_box = driver.find_element_by_name('email')
    search_box.send_keys(username)
    search_box = driver.find_element_by_name('pass')
    search_box.send_keys(password)
    search_box.submit()

driver = webdriver.Firefox()

driver.get("https://www.facebook.com//")

logmein()

SeeMore = WebDriverWait(driver, 15).until(EC.element_to_be_clickable((By.LINK_TEXT, 'See More...')))
print("Found See More")
time.sleep(2) # apparently there is some javascript execution that requires this sleep to be here.
SeeMore.click()
print("Expand SeeMore option")

将是巨大的,看看所提到的链接的屏幕截图。这样我可以去模拟的Facebook页面,并确保它的工作原理。

另一答案

“显示设置” - >“规模和布局”:

尺寸应为100% - 与您的浏览器的ZOOM必须匹配 - 也100%

我已经对IE这个问题约12小时,尝试点击的所有可能的变化,悬停在元素 - 然后单击,使用find_element_by_link_text,更新一切.etc。也尝试了一些的人们在计算器建议的东西 - 没有奏效。

放大到100%,在浏览器和显示比例设置为100%,并获得成功。

以上是关于蟒蛇。点击()不工作的主要内容,如果未能解决你的问题,请参考以下文章

python 蟒蛇-工作目录

为啥我的井字游戏代码无法检测到有人中奖了?蟒蛇 3

蟒蛇口口声声说“输入是不确定的。我该如何解决?

如何采用Python语言绘制一条彩色的蟒蛇

硒 - 蟒蛇。如何捕获网络流量的响应[重复]

蟒蛇 |散点图不显示