对我而言,这应该是非常直接的,但我遇到了一些问题。
我有一些python代码在我的mac上完美运行(最新的操作系统py27),但现在我正在尝试将代码带到我的电脑来安排和完全自动化(win8 py27)我在代码上遇到错误否则工作正常。
代码是这样的:
def getElementsByxPath(mydriver,xPath,argKeys):
try:
a = mydriver.find_elements_by_xpath(xPath);
a.send_keys(argKeys)
#error caused here. mac handles error on sending keys while it seems windows does not.
return a;
except:
print "Unexpected error:", sys.exc_info()[0];
return 0;
elem = olrHelper.getElementsByxPath(mydriver, ".//tr[@class='list-item']");
for e2 in elem:
time.sleep(2)
tryClick(e2)
try:
listingID = e2.get_attribute("data-id") #listingID is populated when I debug
#additionally e2.is_displayed()==True
field1 = extractAddress(protectedExtractText(olrHelper.getElementByxPath(mydriver, ".//h1", "")))
#field1 is not populated and returns my default exception value. very odd.
except:
print 'error'
在我的Mac上,此代码有效(selenium)。在我的电脑上,这不起作用(硒)。
在PC上找不到xpath元素。
有没有人经历过类似的事情?我以为我很容易跨越OS功能。
谢谢
答案 0 :(得分:-1)
我的第一个猜测是,问题根本不在于你的Python代码,而在HTML中存在差异,因为它已经修复了#34;由不同操作系统上的浏览器提供。换句话说,我怀疑其中一个浏览器稍微修改了收到的HTML以使渲染更容易。我'查看来源"在两个文件和WinDiff上。